c# - Default namespace when created xml document -


क्या XmlDocument.CreateElement () और XmlNode.AppendChild () नामों को निर्दिष्ट किए बिना बच्चों का उपयोग करना संभव है और इसका इस्तेमाल करना है एक "डिफ़ॉल्ट" नेमस्पेस?

वर्तमान में, यदि मैं एक नेमस्पेस के साथ एक रूट नोड बनाते हैं और हर बाइटनोड पर नेमस्पेस निर्दिष्ट नहीं करते हैं, तो आउटपुट xml रिक्त नामस्थान परिभाषित करेगा।

< P> नीचे जो उत्पन्न होता है, यदि मैं प्रत्येक तत्व के लिए नाम स्थान निर्दिष्ट नहीं करता है I क्या कोई शॉर्टकट है जहां मुझे नाम स्थान हर बार निर्दिष्ट करने की आवश्यकता नहीं है?

  & lt; root xmlns = "http://example.com" & gt; & Lt; child1 xmlns = "" & gt; & Lt; child2 / & gt; & Lt; / child1 & gt; & Lt; / जड़ & gt;  

कोड:

  XmlDocument doc = नया XmlDocument (); Var रूटनोड = doc.CreateElement ("root", "http://example.com"); doc.AppendChild (rootNode); Var child1Node = doc.CreateElement ("child1"); rootNode.AppendChild (child1Node); Var child2Node = doc.CreateElement ("child2"); child1Node.AppendChild (child2Node);  

यदि आप अपना XML दस्तावेज़ बनाते हैं, और आप प्रत्येक तत्व के लिए समान नाम स्थान निर्दिष्ट करते हैं पदानुक्रम में - इस तरह से कुछ:

  XmlDocument doc = new XmlDocument (); Const स्ट्रिंग xmlNS = "http://www.example.com"; एक्सएमएलएलेट रूट = डॉक.क्रेट एलेमेंट ("रूट", एक्सएमएलएनएस); doc.AppendChild (रूट); एक्सएमएलएलिमेंट चाइल्ड 1 = डॉक। क्रेलेट एलेमेंट ("बाल 1", एक्सएमएलएनएस); root.AppendChild (child1); Child1.AppendChild (doc.CreateElement ("child2", xmlns)); doc.Save (@ 'डी: \ test.xml ");  

फिर आपको यह आउटपुट फ़ाइल मिलेगी:

  & lt; root xmlns = "http://www.example.com" & gt; & LT; child1 & gt; & Lt; child2 / & gt; & Lt; / child1 & gt; & Lt; / जड़ & gt;  

& lt; रूट & gt; नोड पर नामस्थान, पदानुक्रम के नीचे विरासत में मिली है, जब तक कि बाल तत्व कुछ स्पष्ट रूप से परिभाषित न करें।

यदि आप doc.CreateElement का उपयोग करते हुए एक नया एक्सएमएलएलिमेंट बनाते हैं और आप एक्सएमएल नेमस्पेस निर्दिष्ट नहीं करते हैं, निश्चित तौर पर, उस नए तत्व में रिक्त नामस्थान होगा और इस प्रकार यह उस XML दस्तावेज़ में सीरियल कर दिया जाएगा था।

जब भी आप एक नया तत्व बना रहे हों - मैं डिफ़ॉल्ट नेमस्पेस को निर्दिष्ट करने के लिए किसी भी तरह से अवगत नहीं हूं - यदि आप एक निर्दिष्ट करते हैं, तो तत्व उस नाम स्थान का उपयोग करेगा - अगर आप निर्दिष्ट नहीं करते हैं एक, यह खाली नामस्थान है।


Comments

Popular posts from this blog

windows - Heroku throws SQLITE3 Read only exception -

lex - Building a lexical Analyzer in Java -

python - rename keys in a dictionary -