Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
La classe XmlNode consente di modificare il prefisso dello spazio dei nomi associato a un determinato nodo. Ad esempio, il codice seguente mostra il prefisso di un elemento da modificare.
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);
Risultato
<b:test xmlns:a="123" xmlns:b="456" />
La modifica del prefisso di un nodo non modifica lo spazio dei nomi. Il namespace può essere impostato solo al momento della creazione del nodo. Quando si rende permanente l'albero, i nuovi attributi del namespace possono essere memorizzati per soddisfare il prefisso impostato. Se non è possibile creare il nuovo spazio dei nomi, il prefisso viene modificato in modo che il nodo mantenga il nome locale e lo spazio dei nomi. Nell'esempio seguente viene illustrato l'aggiunta di un attributo dello spazio dei nomi.
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);
Risultato
<a:test xmlns="123" xmlns:a="123" />
Quando l'albero è stato salvato in modo permanente in una stringa in seguito alla chiamata a doc. InnerXml, l'attributo xmlns:a='123' è stato aggiunto per mantenere lo spazio dei nomi dell'elemento test . Era '123', e rimase '123'.