.NET में XmlDocument से एक्सएमएल उत्पन्न करते समय, एक खाली xmlns
विशेषता पहली बार एक तत्व के बिना एक संबंधित नेमस्पेस डाला जाता है; इसे कैसे रोका जा सकता है?.NET के XmlDocument से आउटपुट में रिक्त xmlns विशेषताओं को कैसे रोकें?
उदाहरण:
XmlDocument xml = new XmlDocument();
xml.AppendChild(xml.CreateElement("root",
"whatever:name-space-1.0"));
xml.DocumentElement.AppendChild(xml.CreateElement("loner"));
Console.WriteLine(xml.OuterXml);
आउटपुट:
<root xmlns="whatever:name-space-1.0"><loner xmlns="" /></root>
वांछित आउटपुट:
<root xmlns="whatever:name-space-1.0"><loner /></root>
वहाँ एक समाधान XmlDocument
कोड, नहीं कुछ है कि के बाद होता है के लिए लागू है दस्तावेज़ को OuterXml
के साथ एक स्ट्रिंग में कनवर्ट करना?
ऐसा करने का मेरा तर्क यह देखने के लिए है कि क्या मैं XmlDocument- जेनरेट एक्सएमएल का उपयोग कर किसी विशेष प्रोटोकॉल के मानक एक्सएमएल से मेल खा सकता हूं। खाली xmlns
विशेषता एक पार्सर को तोड़ने या भ्रमित नहीं कर सकता है, लेकिन यह इस प्रोटोकॉल के किसी भी उपयोग में भी मौजूद नहीं है।
निश्चित रूप से। "जो भी: नाम-स्थान-1.0" नामस्थान में तत्व डालने का अर्थ है कि खाली xmlns विशेषता (जो इसे नामस्थान में रखती है) इसे क्रमबद्ध होने पर इसमें जोड़ा नहीं जाएगा। यदि आपको नेमस्पेस कैसे काम करते हैं, इस पर ताज़ा करने की आवश्यकता है, तो http://www.jclark.com/xml/xmlns.htm –
JeniT
देखें: तत्वों को इसकी आवश्यकता है (या शायद बेहतर 'दस्तावेज़। दस्तावेज़ Ilement.NamespaceURI') लेकिन डॉन 'CreateAttribute()' के लिए नामस्थान निर्दिष्ट नहीं करने के लिए आपको 'xmlns: psomething'' मिलेगा, भले ही यह वही यूरी हो। –