Vorgehensweise: Lesen und Schreiben eines codierten Dokuments (C#)How to: Read and Write an Encoded Document (C#)

Fügen Sie zum Erstellen eines codierten XML-Dokuments der XML-Struktur eine XDeclaration hinzu, die die Codierung auf den gewünschten Codeseitennamen festlegt.To create an encoded XML document, you add an XDeclaration to the XML tree, setting the encoding to the desired code page name.

Jeder von WebName zurückgegebene Wert ist ein gültiger Wert.Any value returned by WebName is a valid value.

Beim Lesen eines codierten Dokuments wird die Encoding-Eigenschaft auf den Codeseitennamen festgelegt.If you read an encoded document, the Encoding property will be set to the code page name.

Wenn Sie die Encoding auf einen gültigen Codeseitennamen festgelegt haben, verwendet LINQ to XML zum Serialisieren die angegebene Codierung.If you set Encoding to a valid code page name, LINQ to XML will serialize with the specified encoding.

BeispielExample

Das folgende Beispiel erstellt zwei Dokumente: eines mit UTF-8-Codierung und eines mit UTF-16-Codierung.The following example creates two documents, one with utf-8 encoding, and one with utf-16 encoding. Anschließend werden die Dokumente geladen, und die Codierung wird auf der Konsole ausgegeben.It then loads the documents and prints the encoding to the console.

Console.WriteLine("Creating a document with utf-8 encoding");  
XDocument encodedDoc8 = new XDocument(  
    new XDeclaration("1.0", "utf-8", "yes"),  
    new XElement("Root", "Content")  
);  
encodedDoc8.Save("EncodedUtf8.xml");  
Console.WriteLine("Encoding is:{0}", encodedDoc8.Declaration.Encoding);  
Console.WriteLine();  

Console.WriteLine("Creating a document with utf-16 encoding");  
XDocument encodedDoc16 = new XDocument(  
    new XDeclaration("1.0", "utf-16", "yes"),  
    new XElement("Root", "Content")  
);  
encodedDoc16.Save("EncodedUtf16.xml");  
Console.WriteLine("Encoding is:{0}", encodedDoc16.Declaration.Encoding);  
Console.WriteLine();  

XDocument newDoc8 = XDocument.Load("EncodedUtf8.xml");  
Console.WriteLine("Encoded document:");  
Console.WriteLine(File.ReadAllText("EncodedUtf8.xml"));  
Console.WriteLine();  
Console.WriteLine("Encoding of loaded document is:{0}", newDoc8.Declaration.Encoding);  
Console.WriteLine();  

XDocument newDoc16 = XDocument.Load("EncodedUtf16.xml");  
Console.WriteLine("Encoded document:");  
Console.WriteLine(File.ReadAllText("EncodedUtf16.xml"));  
Console.WriteLine();  
Console.WriteLine("Encoding of loaded document is:{0}", newDoc16.Declaration.Encoding);  

Dieses Beispiel erzeugt die folgende Ausgabe:This example produces the following output:

Creating a document with utf-8 encoding  
Encoding is:utf-8  

Creating a document with utf-16 encoding  
Encoding is:utf-16  

Encoded document:  
<?xml version="1.0" encoding="utf-8" standalone="yes"?>  
<Root>Content</Root>  

Encoding of loaded document is:utf-8  

Encoded document:  
<?xml version="1.0" encoding="utf-16" standalone="yes"?>  
<Root>Content</Root>  

Encoding of loaded document is:utf-16  

Siehe auchSee Also

XDeclaration.Encoding
Advanced LINQ to XML Programming (C#) (Erweiterte LINQ to XML-Programmierung (C#))Advanced LINQ to XML Programming (C#)