2010-07-26 7 views
14

यहाँ InfoPath में बनाए गए एक XML फ़ाइल का एक उदाहरण है:एक्सएमएल में, प्रश्न चिह्न वाले नोड्स क्या हैं, और मैं उन्हें सी # में कैसे जोड़ूं?

<?xml version="1.0" encoding="UTF-8"?> 
    <?mso-infoPathSolution solutionVersion="1.0.0.1" productVersion="12.0.0" PIVersion="1.0.0.0" href="file:///C:\Metastorm\Sample%20Procedures\InfoPath%20samples\Template1.xsn" name="urn:schemas-microsoft-com:office:infopath:Template1:-myXSD-2010-07-21T14-21-13" ?> 
    <?mso-application progid="InfoPath.Document" versionProgid="InfoPath.Document.2"?> 
    <my:myFields xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2010-07-21T14:21:13" xml:lang="en-us"> 
    <my:field1>hello</my:field1> 
    <my:field2>world</my:field2> 
    </my:myFields> 

क्या कहा जाता प्रश्न चिह्न के साथ उन शीर्ष 3 नोड्स रहे हैं ... और कैसे मैं उन्हें सी # में बना सकता हूँ?

अब तक मैं इस है:

XmlDocument xmldoc; 
    XmlDeclaration xmlDeclaration; 

    xmldoc=new XmlDocument(); 
    xmlDeclaration = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "") as XmlDeclaration; 
    xmlDeclaration.Encoding = "UTF-8"; 
    xmldoc.AppendChild(xmlDeclaration); 

इस शीर्ष XML घोषणा नोड के लिए ठीक काम करता है, लेकिन कैसे मैं अगले दो बना सकता हूँ?

अग्रिम धन्यवाद :)

उत्तर

8

इन्हें प्रोसेसिंग निर्देश कहा जाता है। XmlDocument.CreateProcessingInstruction का उपयोग करके 'em जोड़ें।

+3

ध्यान दें कि पहला प्रसंस्करण निर्देश नहीं है। यह एक्सएमएल दस्तावेज़ घोषणा है। इसके लिए [CreateXmlDeclaration] (http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.createxmldeclaration.aspx) का उपयोग करें। – porges

7

जिन्हें प्रसंस्करण निर्देश कहा जाता है। आप XmlProcessingInstruction कक्षा का उपयोग XmlDocument में उनके साथ संवाद करने के लिए कर सकते हैं।

XmlDocument के भीतर परिभाषित अधिकांश तत्वों के साथ, आप इसे तुरंत चालू नहीं कर सकते हैं; आपको उस विशेष मामले में XmlDocument (CreateProcessingInstruction पर उपयुक्त फैक्टरी विधि का उपयोग करना होगा।)

+0

कृपया ध्यान दें कि पोर्गेस ने ऊपर क्या कहा: "... पहला प्रसंस्करण निर्देश नहीं है। यह XML दस्तावेज़ घोषणा है। ..." – user2757572

2

यह समझाने के लिए धन्यवाद कि ये प्रसंस्करण निर्देश हैं। सुझाए गए CreateProcessingInstruction का उपयोग करके, यहां समाधान है:

xmlPi = xmldoc.CreateProcessingInstruction("mso-infoPathSolution", "solutionVersion=\"1.0.0.1\" productVersion=\"12.0.0\" PIVersion=\"1.0.0.0\" href=\"file:///C:\\Metastorm\\Sample%20Procedures\\InfoPath%20samples\\Template1.xsn\" name=\"urn:schemas-microsoft-com:office:infopath:Template1:-myXSD-2010-07-21T14-21-13\""); 
    xmldoc.AppendChild(xmlPi); 
+0

बहुत अच्छा है, लेकिन आपको अपने प्रश्न का उत्तर देने के बजाय अपना प्रश्न अपडेट करना चाहिए। –

+2

गलत। आपको अपने स्वयं के प्रश्न का उत्तर देने और समाधान के रूप में चिह्नित करने के लिए प्रोत्साहित किया जाता है। संपादन क्यू भ्रम की ओर जाता है और अक्सर पिछले उत्तरों को अमान्य करता है। – RichieHH

संबंधित मुद्दे