XmlElement.Attributes.Remove * विधियों के साथ xmlns विशेषता को कैसे निकालें, मनमानी विशेषताओं के लिए ठीक काम कर रहे हैं जिसके परिणामस्वरूप हटाए गए गुण XmlDocument.OuterXml प्रॉपर्टी से हटाए जा रहे हैं। Xmlns विशेषता हालांकि अलग है। यहाँ एक उदाहरण है:.NET XML API
XmlDocument doc = new XmlDocument();
doc.InnerXml = @"<Element1 attr1=""value1"" xmlns=""http://mynamespace.com/"" attr2=""value2""/>";
doc.DocumentElement.Attributes.RemoveNamedItem("attr2");
Console.WriteLine("xmlns attr before removal={0}", doc.DocumentElement.Attributes["xmlns"]);
doc.DocumentElement.Attributes.RemoveNamedItem("xmlns");
Console.WriteLine("xmlns attr after removal={0}", doc.DocumentElement.Attributes["xmlns"]);
जिसके परिणामस्वरूप उत्पादन
xmlns attr before removal=System.Xml.XmlAttribute
xmlns attr after removal=
<Element1 attr1="value1" xmlns="http://mynamespace.com/" />
है विशेषता गुण संग्रह से निकाल किया जा रहा है, लेकिन यह XmlDocument.OuterXml से न निकले। मुझे लगता है कि यह इस विशेषता के विशेष अर्थ के कारण है।
प्रश्न यह है कि .NET XML API का उपयोग कर xmlns विशेषता को कैसे निकालें। जाहिर है, मैं केवल इस स्ट्रिंग प्रस्तुति से विशेषता को हटा सकता हूं, लेकिन मुझे आश्चर्य है कि एपीआई का उपयोग करके वही काम करना संभव है।
@ एडिट: मैं .NET 2.0 के बारे में बात कर रहा हूं।
मैं बस इस मुद्दे में भाग गया। अच्छा खोज! –