在C#中操作XML数据,你可以使用.NET框架自带的System.Xml命名空间。下面是一些基本的操作XML数据的示例:
- 读取XML数据
假设你有一个名为"sample.xml"的文件,其内容如下:
John Doe 20 Jane Smith 22
你可以使用以下代码来读取这个文件:
using System.Xml; XmlDocument doc = new XmlDocument(); doc.Load("sample.xml"); XmlNode root = doc.DocumentElement; foreach (XmlNode node in root.ChildNodes) { if (node.NodeType == XmlNodeType.Element && node.Name == "student") { string id = node.Attributes["id"].Value; string name = node.SelectSingleNode("name").InnerText; int age = int.Parse(node.SelectSingleNode("age").InnerText); Console.WriteLine($"Student ID: {id}, Name: {name}, Age: {age}"); } }
- 创建XML数据
你可以使用XmlDocument类来创建新的XML文档:
XmlDocument doc = new XmlDocument(); doc.LoadXml(""); XmlNode root = doc.DocumentElement; XmlNode studentNode = doc.CreateNode(XmlNodeType.Element, "student", null); XmlAttribute idAttr = doc.CreateAttribute("id"); idAttr.Value = "https://www.yisu.com/ask/1"; studentNode.Attributes.Append(idAttr); XmlNode nameNode = doc.CreateNode(XmlNodeType.Element, "name", null); nameNode.InnerText = "John Doe"; studentNode.AppendChild(nameNode); XmlNode ageNode = doc.CreateNode(XmlNodeType.Element, "age", null); ageNode.InnerText = "20"; studentNode.AppendChild(ageNode); root.AppendChild(studentNode);
这段代码会创建一个新的XML文档,其中包含一个名为"student"的元素,该元素具有"id"、"name"和"age"子元素。
- 修改XML数据
你可以使用XmlDocument类的SelectSingleNode和SelectNodes方法来查找和修改XML元素:
// 查找第一个名为"name"的元素 XmlNode nameNode = doc.SelectSingleNode("/students/student/name"); if (nameNode != null) { nameNode.InnerText = "Jane Doe"; } // 查找所有名为"age"的元素,并将它们的值增加1 XmlNodeList ageNodes = doc.SelectNodes("/students/student/age"); if (ageNodes != null) { foreach (XmlNode ageNode in ageNodes) { int age = int.Parse(ageNode.InnerText); ageNode.InnerText = (age + 1).ToString(); } }
这段代码会查找第一个名为"name"的元素,并将其值更改为"Jane Doe"。然后,它会查找所有名为"age"的元素,并将它们的值增加1。