C# 生成 XML 的三种途径小结
XML(可扩展标记语言)是一种常用的数据格式,常用于数据存储和传输。而 C# 作为一种强大的编程语言,可以轻松生成 XML 数据。本篇文章将介绍 C# 生成 XML 的三种途径。
1. 使用 System.Xml 命名空间
System.Xml 命名空间提供了许多用于操作和管理 XML 数据的类。在 C# 中,我们可以通过以下步骤使用 System.Xml 命名空间生成 XML。
- 新建 XML Document 实例
XmlDocument xmlDoc = new XmlDocument();
- 创建 XML Declaration
//创建 XML Declaration
XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
//将 XML Declaration 添加到 XML Document
xmlDoc.AppendChild(xmlDeclaration);
- 创建根节点,并添加到 XML Document
//创建根节点
XmlNode rootNode = xmlDoc.CreateElement("Root");
//将根节点添加到 XML Document
xmlDoc.AppendChild(rootNode);
- 创建子节点,并添加到父节点
//创建子节点
XmlNode childNode = xmlDoc.CreateElement("Child");
//将子节点添加到父节点
rootNode.AppendChild(childNode);
- 添加节点属性
//创建属性
XmlAttribute attribute = xmlDoc.CreateAttribute("Attribute");
attribute.Value = "Attribute Value";
//将属性添加到节点
childNode.Attributes.Append(attribute);
- 添加节点文本
//添加节点文本
childNode.InnerText = "Node Text";
- 保存 XML Document
//保存 XML Document
xmlDoc.Save("XMLFile.xml");
2. 使用 Linq to XML
Linq to XML 是一个基于 Linq 的 XML 操作库。在 C# 中,我们可以通过以下步骤使用 Linq to XML 生成 XML。
- 创建 XML Document
XDocument xmlDocument = new XDocument(
new XDeclaration("1.0", "utf-8", null),
new XElement("Root")
);
- 添加子节点
//添加子节点
xmlDocument.Root.Add(new XElement("Child"));
- 添加节点属性
//添加节点属性
xmlDocument.Root.Element("Child").SetAttributeValue("Attribute", "Attribute Value");
- 添加节点文本
//添加节点文本
xmlDocument.Root.Element("Child").Value = "Node Text";
- 保存 XML Document
//保存 XML Document
xmlDocument.Save("XMLFile.xml");
3. 使用 XmlWriter
XmlWriter 是一种基于流的 XML 操作类,允许我们在创建和写入 XML 时使用流顺序的方式。在 C# 中,我们可以通过以下步骤使用 XmlWriter 生成 XML。
- 建立 XmlWriter 实例
XmlWriter xmlWriter = XmlWriter.Create("XMLFile.xml");
- 写入 XML Declaration
//写入 XML Declaration
xmlWriter.WriteStartDocument();
- 写入根节点和子节点
//写入根节点和子节点
xmlWriter.WriteStartElement("Root");
xmlWriter.WriteStartElement("Child");
- 写入节点属性
//写入节点属性
xmlWriter.WriteAttributeString("Attribute", "Attribute Value");
- 写入节点文本
//写入节点文本
xmlWriter.WriteString("Node Text");
- 关闭子节点和根节点
//关闭子节点和根节点
xmlWriter.WriteEndElement();
xmlWriter.WriteEndElement();
- 关闭 XmlWriter
//关闭 XmlWriter
xmlWriter.Close();
以上三种途径均可用于生成 XML,根据实际需求选择即可。
示例
下面是使用 System.Xml 命名空间生成一个包含两个 Person 节点的 XML 文件的示例代码。
//创建 XML Document 实例
XmlDocument xmlDoc = new XmlDocument();
//创建 XML Declaration
XmlDeclaration xmlDeclaration = xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
//将 XML Declaration 添加到 XML Document
xmlDoc.AppendChild(xmlDeclaration);
//创建根节点
XmlNode rootNode = xmlDoc.CreateElement("People");
//将根节点添加到 XML Document
xmlDoc.AppendChild(rootNode);
//创建子节点
XmlNode childNode = xmlDoc.CreateElement("Person");
//将子节点添加到父节点
rootNode.AppendChild(childNode);
//添加节点属性
XmlAttribute attribute = xmlDoc.CreateAttribute("Name");
attribute.Value = "John Smith";
childNode.Attributes.Append(attribute);
//添加子节点
XmlNode childNode2 = xmlDoc.CreateElement("Person");
rootNode.AppendChild(childNode2);
XmlAttribute attribute2 = xmlDoc.CreateAttribute("Name");
attribute2.Value = "Lisa Brown";
childNode2.Attributes.Append(attribute2);
//保存 XML Document
xmlDoc.Save("XMLFile.xml");
生成的 XML 文件内容如下。
<?xml version="1.0" encoding="utf-8"?>
<People>
<Person Name="John Smith" />
<Person Name="Lisa Brown" />
</People>
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#生成XML的三种途径小结 - Python技术站