📜  c# xmldocument from file - C# (1)

📅  最后修改于: 2023-12-03 14:59:41.215000             🧑  作者: Mango

c# xmldocument from file - C#

本文将介绍如何在 C# 中使用 XmlDocument 类来加载并解析 XML 文件。

1. 导入命名空间

在使用 XmlDocument 类时,需要先导入命名空间

using System.Xml;
2. 加载 XML 文件

使用 XmlDocument 类的 Load 方法来加载 XML 文件:

XmlDocument doc = new XmlDocument();
doc.Load("path/to/file.xml");

其中,"path/to/file.xml" 是 XML 文件的路径。

3. 解析 XML 文件

一旦 XML 文件已被加载,就可以使用 XmlDocument 类的一些方法来解析它。

3.1 获取根节点

使用 XmlDocument 类的 DocumentElement 属性来获取 XML 文件的根节点:

XmlElement root = doc.DocumentElement;
3.2 获取子节点

使用 XmlNode 类的 SelectSingleNode 或 SelectNodes 方法来获取 XML 文件的子节点:

XmlNode child1 = doc.SelectSingleNode("/root/child1");
XmlNodeList children = doc.SelectNodes("/root/*");

其中,"/root/child1" 和 "/root/*" 是 XPath 表达式,用于指定子节点的路径。

3.3 获取节点的属性

使用 XmlNode 类的 Attributes 属性来获取节点的属性:

XmlAttribute attr = child1.Attributes["attribute1"];
string attrValue = attr.Value;
3.4 获取节点的值

使用 XmlNode 类的 InnerText 或 InnerXml 属性来获取节点的值:

string value1 = child1.InnerText;
string value2 = child2.InnerXml;

其中,InnerText 获取节点的文本值,InnerXml 获取节点的子节点和文本值。

4. 修改 XML 文件

在解析完 XML 文件后,可以使用 XmlDocument 类的一些方法来修改它。

4.1 修改节点的属性

使用 XmlNode 类的 Attributes 属性来修改节点的属性:

XmlAttribute attr = child1.Attributes["attribute1"];
attr.Value = "new_value";
4.2 修改节点的值

使用 XmlNode 类的 InnerText 或 InnerXml 属性来修改节点的值:

child1.InnerText = "new_value";
child2.InnerXml = "<subchild>new_value</subchild>";
4.3 添加节点

使用 XmlDocument 类的 CreateElement 方法来创建节点,并使用 XmlNode 类的 AppendChild 方法添加节点:

XmlElement newChild = doc.CreateElement("newchild");
newChild.SetAttribute("attribute1", "value1");
newChild.InnerText = "value2";
root.AppendChild(newChild);
5. 保存 XML 文件

最后,使用 XmlDocument 类的 Save 方法将修改后的 XML 文件保存:

doc.Save("path/to/modified.xml");
总结

这篇文章介绍了如何在 C# 中使用 XmlDocument 类来加载、解析、修改和保存 XML 文件。如果你需要处理 XML 数据,这个类是非常有用的。如果你想了解更多有关 XmlDocument 类的详细信息,请参阅 MSDN 文档