Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Este artigo descreve como controlar se uma declaração XML é gerada quando você serializa XML em C# ou Visual Basic.
A serialização para um File ou um TextWriter usando o XElement.Save método ou o XDocument.Save método gera uma declaração XML. Quando você serializa para um XmlWriter, as configurações do gravador (especificadas em um XmlWriterSettings objeto) determinam se uma declaração XML é gerada.
Se você estiver serializando para uma cadeia de caracteres usando o ToString método, o XML resultante não incluirá uma declaração XML.
Exemplo: serializar com uma declaração XML
O exemplo a seguir cria um XElementarquivo , salva o documento em um arquivo e, em seguida, imprime o arquivo no 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)
Este exemplo produz a seguinte saída:
<?xml version="1.0" encoding="utf-8"?>
<Root>
<Child>child content</Child>
</Root>
Exemplo: serializar sem uma declaração XML
O exemplo a seguir mostra como salvar um XElement em um XmlWriterarquivo .
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())
Este exemplo produz a seguinte saída:
<Root><Child>child content</Child></Root>