3

我必须创建一个编码为的xml文件

<?xml version="1.0" encoding="ISO-8859-1"?>

目前我使用 LINQ 创建的 xml 的标签为

<?xml version="1.0" encoding="UTF-8"?>

我怎样才能只使用 LINQ 来做到这一点。

4

3 回答 3

5

你应该使用XDeclaration

var d = new XDocument(new XDeclaration("1.0", "ISO-8859-1", ""), new XElement("Root",
    new XElement("Child1", "data1"),
    new XElement("Child2", "data2")
 ));
于 2014-06-10T10:57:41.407 回答
2

您可以将 保存XDocumentStreamWriter具有所需编码的:

var xDocument = new XDocument(new XElement("root"));
var encoding = Encoding.GetEncoding("iso-8859-1");
using (var fileStream = File.Create("... file name ..."))
  using (var streamWriter = new StreamWriter(fileStream, encoding))
    xDocument.Save(streamWriter);
于 2014-06-10T10:59:11.027 回答
1

如果您使用的是 XMLDcoument,那么您可以像下面这样:

        XmlDocument doc = new XmlDocument();
        XmlDeclaration declaration = doc.CreateXmlDeclaration("1.0", "ISO-8859-1", null);
        doc.AppendChild(declaration);
        var node = doc.CreateNode(XmlNodeType.Element, "Root", "");
        doc.AppendChild(node);
        doc.Save("TestDoc.xml");
于 2014-06-10T11:06:34.643 回答