के साथ मैं एक तृतीय पक्ष xml api के खिलाफ काम कर रहा हूं। उन्होंने निम्न के समान एक आवश्यक xml संरचना परिभाषित की है।xml तत्व नाम कोलन
<ns1:E xmlns:ns1="schema">
<ns1:B>
<ns2:S>
<ns2:V>
<ns2:Bl />
</ns2:V>
</ns2:S>
</ns1:B>
</ns1:E>
ऐसी जानकारी के साथ एक SQL तालिका है जो मुझे इस XML प्रारूप में डालने की आवश्यकता है। मेरे पास डेटा प्राप्त करने के लिए LINQ से SQL एडाप्टर है और मैं XML दस्तावेज़ बनाने के लिए System.Xml
का उपयोग कर रहा हूं।
XmlDocument.CreateElement("ns1:E"); etc
यह ठीक जब तक मैं तत्व के नाम से कोलन को दूर के रूप में काम करता है। कोलन के साथ, कोलन का दाहिना हाथ तत्व तत्व नाम में है। मुझे पता है कि कोलन एक नो-नो हैं लेकिन मेरे पास कोई तीसरा पक्ष एपीआई निर्देशित करने पर कोई नियंत्रण नहीं है।
इस के आसपास होने के मेरे विकल्प क्या हैं? तत्वों के नामों में कोलन को मजबूर करने के कोई उपयोगी तरीके हैं? मुझे XMLDocument
का उपयोग करने की आवश्यकता नहीं है, लेकिन यह सुनिश्चित नहीं है कि मुझे और कौन सी विधि मिल जाएगी।
अद्यतन: मुझे एहसास है कि <ns1:
नामस्थान को संदर्भित करता है। और हाँ, वहाँ 2. जब एक्सएमएल बाहर लेखन, मैं यह काम करता है, तो मैं कहता हूँ कर सकते हैं -
XmlDocument.CreateElement(ns1:E", "http://schema);
हालांकि, इस के XML आउटपुट
<ns1:E xmlns:ns1="http://schema">
है मैं सिर्फ साथ XmlDocument.CreateElement("ns1:E");
कहना कोई यूरी नहीं, तो आउटपुट सिर्फ <E>
है। मैं नहीं चाहता कि आउटपुट में स्कीमा संदर्भ हो लेकिन मुझे उपसर्ग करने की आवश्यकता है। परिणाम मैं प्राप्त करना चाहता हूं बस <ns1:E>
है। दोनों नम्सस्पेस शीर्ष पर घोषित किए गए हैं, जो मुझे लगता है कि इसका मतलब होगा कि मुझे उन्हें प्रत्येक नोड में घोषित करना होगा।
मुझे एक ही समस्या है, यहां तक कि यह विधि मेरे लिए काम नहीं करती है। आपने बस कैसे प्राप्त किया? –