📅  最后修改于: 2023-12-03 14:59:41.215000             🧑  作者: Mango
本文将介绍如何在 C# 中使用 XmlDocument 类来加载并解析 XML 文件。
在使用 XmlDocument 类时,需要先导入命名空间
using System.Xml;
使用 XmlDocument 类的 Load 方法来加载 XML 文件:
XmlDocument doc = new XmlDocument();
doc.Load("path/to/file.xml");
其中,"path/to/file.xml" 是 XML 文件的路径。
一旦 XML 文件已被加载,就可以使用 XmlDocument 类的一些方法来解析它。
使用 XmlDocument 类的 DocumentElement 属性来获取 XML 文件的根节点:
XmlElement root = doc.DocumentElement;
使用 XmlNode 类的 SelectSingleNode 或 SelectNodes 方法来获取 XML 文件的子节点:
XmlNode child1 = doc.SelectSingleNode("/root/child1");
XmlNodeList children = doc.SelectNodes("/root/*");
其中,"/root/child1" 和 "/root/*" 是 XPath 表达式,用于指定子节点的路径。
使用 XmlNode 类的 Attributes 属性来获取节点的属性:
XmlAttribute attr = child1.Attributes["attribute1"];
string attrValue = attr.Value;
使用 XmlNode 类的 InnerText 或 InnerXml 属性来获取节点的值:
string value1 = child1.InnerText;
string value2 = child2.InnerXml;
其中,InnerText 获取节点的文本值,InnerXml 获取节点的子节点和文本值。
在解析完 XML 文件后,可以使用 XmlDocument 类的一些方法来修改它。
使用 XmlNode 类的 Attributes 属性来修改节点的属性:
XmlAttribute attr = child1.Attributes["attribute1"];
attr.Value = "new_value";
使用 XmlNode 类的 InnerText 或 InnerXml 属性来修改节点的值:
child1.InnerText = "new_value";
child2.InnerXml = "<subchild>new_value</subchild>";
使用 XmlDocument 类的 CreateElement 方法来创建节点,并使用 XmlNode 类的 AppendChild 方法添加节点:
XmlElement newChild = doc.CreateElement("newchild");
newChild.SetAttribute("attribute1", "value1");
newChild.InnerText = "value2";
root.AppendChild(newChild);
最后,使用 XmlDocument 类的 Save 方法将修改后的 XML 文件保存:
doc.Save("path/to/modified.xml");
这篇文章介绍了如何在 C# 中使用 XmlDocument 类来加载、解析、修改和保存 XML 文件。如果你需要处理 XML 数据,这个类是非常有用的。如果你想了解更多有关 XmlDocument 类的详细信息,请参阅 MSDN 文档。