📅  最后修改于: 2023-12-03 15:21:18.965000             🧑  作者: Mango
在 C# 中,我们可以使用 XmlWriter
类来创建、写入和保存 XML 文件。
要使用 XmlWriter
,我们首先需要创建一个 XmlWriterSettings
对象,并设置以下属性:
Indent
:指定是否缩进输出,默认为 false
。Encoding
:指定写入器的编码,默认为 UTF-8。NewLineChars
:指定换行符。var settings = new XmlWriterSettings
{
Indent = true,
Encoding = Encoding.UTF8,
NewLineChars = Environment.NewLine
};
通过 XmlWriter.Create
静态方法,我们可以创建一个输出到文件的 XmlWriter
:
using var writer = XmlWriter.Create("example.xml", settings);
使用 XmlWriter
编写 XML 非常简单。我们可以使用 WriteStartElement
、WriteEndElement
和 WriteAttributeString
等方法来创建元素和属性。
// 开始文档
writer.WriteStartDocument();
// 创建根元素
writer.WriteStartElement("books");
// 创建子元素及其属性
writer.WriteStartElement("book");
writer.WriteAttributeString("id", "1");
writer.WriteElementString("title", "The C# Programming Language");
writer.WriteElementString("author", "Anders Hejlsberg, Mads Torgersen, Scott Wiltamuth");
writer.WriteEndElement();
// 结束根元素
writer.WriteEndElement();
// 结束文档
writer.WriteEndDocument();
在上面的例子中,我们创建了一个名为 books
的根元素,并在里面创建了一个名为 book
的子元素,还添加了一个 id 属性以及 title
和 author
子元素。
下面是一个完整的示例,演示了如何使用 XmlWriter
创建一个 XML 文档:
using System.IO;
using System.Text;
using System.Xml;
namespace Example
{
class Program
{
static void Main(string[] args)
{
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
var settings = new XmlWriterSettings
{
Indent = true,
Encoding = Encoding.GetEncoding("gb2312"),
NewLineChars = Environment.NewLine
};
// 创建文件
using var stream = new FileStream("example.xml", FileMode.Create);
using var writer = XmlWriter.Create(stream, settings);
// 开始文档
writer.WriteStartDocument();
// 创建根元素
writer.WriteStartElement("books");
// 创建子元素及其属性
writer.WriteStartElement("book");
writer.WriteAttributeString("id", "1");
writer.WriteElementString("title", "C#高级编程");
writer.WriteElementString("author", "Jon Skeet");
writer.WriteEndElement();
writer.WriteStartElement("book");
writer.WriteAttributeString("id", "2");
writer.WriteElementString("title", "C#入门经典");
writer.WriteElementString("author", "彼得-库恩");
writer.WriteEndElement();
// 结束根元素
writer.WriteEndElement();
// 结束文档
writer.WriteEndDocument();
}
}
}
运行这个示例,它将创建一个名为 example.xml
的 XML 文件,并写入以下内容:
<?xml version="1.0" encoding="gb2312"?>
<books>
<book id="1">
<title>C#高级编程</title>
<author>Jon Skeet</author>
</book>
<book id="2">
<title>C#入门经典</title>
<author>彼得-库恩</author>
</book>
</books>
现在你已经学会如何使用 XmlWriter
编写 XML,享受编写美好的 XML 文档的过程吧!