Serializzazione con una dichiarazione XML
In questo argomento viene descritto come controllare se la serializzazione genera una dichiarazione XML.
Generazione della dichiarazione XML
La serializzazione di File o TextWriter tramite il metodo XElement.Save o il metodo XDocument.Save genera una dichiarazione XML. Quando si serializza in XmlWriter, le impostazioni del writer (specificate in un oggetto XmlWriterSettings) determinano se una dichiarazione XML viene generata o meno.
Se si serializza in una stringa tramite il metodo ToString, l'XML risultante non includerà una dichiarazione XML.
Serializzazione con una dichiarazione XML
Nell'esempio seguente viene creato un oggetto XElement, viene salvato il documento in un file e quindi stampato il file nella console.
XElement root = new XElement("Root",
new XElement("Child", "child content")
);
root.Save("Root.xml");
string str = File.ReadAllText("Root.xml");
Console.WriteLine(str);
Dim root As XElement = <Root>
<Child>child content</Child>
</Root>
root.Save("Root.xml")
Dim str As String = File.ReadAllText("Root.xml")
Console.WriteLine(str)
Questo esempio produce il seguente output:
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Child>child content</Child>
</Root>
Serializzazione senza una dichiarazione XML
Nell'esempio seguente viene illustrato come salvare XElement in XmlWriter.
StringBuilder sb = new StringBuilder();
XmlWriterSettings xws = new XmlWriterSettings();
xws.OmitXmlDeclaration = true;
using (XmlWriter xw = XmlWriter.Create(sb, xws)) {
XElement root = new XElement("Root",
new XElement("Child", "child content")
);
root.Save(xw);
}
Console.WriteLine(sb.ToString());
Dim sb As StringBuilder = New StringBuilder()
Dim xws As XmlWriterSettings = New XmlWriterSettings()
xws.OmitXmlDeclaration = True
Using xw As XmlWriter = XmlWriter.Create(sb, xws)
Dim root = <Root>
<Child>child content</Child>
</Root>
root.Save(xw)
End Using
Console.WriteLine(sb.ToString())
Questo esempio produce il seguente output:
<Root><Child>child content</Child></Root>