Ändra egenskaper för namnområdesprefix

Med klassen XmlNode kan du ändra namnområdesprefixet som är associerat med en viss nod. Följande kod visar till exempel prefixet för ett element som ändras.

Dim doc as XmlDocument = new XmlDocument()  
doc.LoadXml("<a:test xmlns:a='123' xmlns:b='456'/>")  
Dim e as XmlElement = doc.DocumentElement  
e.Prefix = "b"  
Console.WriteLine(doc.InnerXml)  
XmlDocument doc = new XmlDocument();  
doc.LoadXml("<a:test xmlns:a='123' xmlns:b='456'/>");  
XmlElement e = doc.DocumentElement;
e.Prefix = "b";  
Console.WriteLine(doc.InnerXml);  

Resultat

<b:test xmlns:a="123" xmlns:b="456" />  

Om du ändrar prefixet för en nod ändras inte dess namnområde. Namnområdet kan bara anges när noden skapas. När du bevarar trädet kan nya namnområdesattribut bevaras för att uppfylla prefixet du anger. Om det inte går att skapa det nya namnområdet ändras prefixet så att noden bevarar sitt lokala namn och namnområde. I följande exempel visas ett namnområdesattribut som läggs till.

Dim doc as XmlDocument = new XmlDocument()  
doc.LoadXml("<test xmlns='123'/>")  
Dim e as XmlElement = doc.DocumentElement  
e.Prefix = "a"  
Console.WriteLine(doc.InnerXml)  
XmlDocument doc = new XmlDocument();  
doc.LoadXml("<test xmlns='123'/>");  
XmlElement e = doc.DocumentElement;
e.Prefix = "a";  
Console.WriteLine(doc.InnerXml);  

Resultat

<a:test xmlns="123" xmlns:a="123" />  

När trädet bevarades till en sträng som ett resultat av anropet till doc.InnerXml, lades attributet xmlns:a='123' till för att bevara namnområdet för test-elementet. Det var '123', och det förblev '123'.

Se även