Névtér előtag tulajdonságainak módosítása

Az XmlNode osztály lehetővé teszi az adott csomóponthoz társított névtér-előtag módosítását. Az alábbi kód például egy módosítandó elem előtagját jeleníti meg.

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);  

Kimenet

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

A csomópont előtagjának módosítása nem változtatja meg a névterét. A névtér csak a csomópont létrehozásakor állítható be. A fa mentésekor előfordulhat, hogy új névtérattribútumokat mentenek el a beállított előtag kielégítése érdekében. Ha az új névtér nem hozható létre, akkor az előtag módosul, így a csomópont megőrzi a helyi nevét és névterét. Az alábbi példa egy névtérattribútum hozzáadását mutatja be.

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);  

Kimenet

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

Amikor a fa mentésre került egy karakterlánc formájában a doc.InnerXml hívásakor, az xmlns:a='123' attribútum hozzá lett adva a(z) test elem névterének megőrzése érdekében. Az volt '123', és maradt '123'.

Lásd még