Risoluzione dei prefissi doppi dello spazio dei nomi con XmlTextWriter

XmlWriter consente di risolvere i conflitti generando prefissi alternativi. Nell'esempio di codice seguente viene mostrato che l'attributo possiede lo stesso prefisso dell'elemento, ma gli spazi dei nomi sono differenti.

w.WriteStartElement("x", "root", "urn:1")
w.WriteAttributeString("x", "SomeAttr", "urn:2", "123")
w.WriteEndElement()
w.WriteStartElement("x","root","urn:1");
w.WriteAttributeString("x","SomeAttr","urn:2", "123");
w.WriteEndElement();

All'attributo "SomeAttr" viene assegnato un nuovo prefisso nel modo seguente:

<x:root n1:SomeAttr="123" xmlns:n1="urn:2" xmlns:x="urn:1"/>

I conflitti precedenti possono verificarsi solo negli attributi. Per gli elementi annidati, una nuova dichiarazione dello spazio dei nomi è in grado di ridefinire il mapping del prefisso duplicato. Nell'esempio di codice seguente sono illustrati gli elementi annidati. La seconda dichiarazione dello spazio dei nomi ridefinisce il mapping del prefisso duplicato.

w.WriteStartElement("x", "root", "urn:1")
w.WriteStartElement("x", "item", "urn:2")
w.WriteEndElement()
w.WriteEndElement()
w.WriteStartElement("x","root","urn:1");
w.WriteStartElement("x","item","urn:2");
w.WriteEndElement();
w.WriteEndElement();

Output

<x:root xmlns:x="urn:1">
    <x:item xmlns:x="urn:2"/>
</x:root>

Vedere anche

Riferimenti

XmlTextWriter

XmlTextWriter

XmlWriter

XmlWriter