c# xml解析文件
时间: 2023-11-22 12:48:50 浏览: 43
C#中解析XML文件有两种方式:XmlDocument和XmlReader。
1. 使用XmlDocument解析XML文件
XmlDocument是一种基于树形结构的解析方式,可以将整个XML文档加载到内存中,然后通过操作节点的方式来访问XML文档中的数据。
以下是一个使用XmlDocument解析XML文件的例子:
```csharp
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("file.xml"); // 加载XML文件
XmlNodeList nodeList = xmlDoc.SelectNodes("//book"); // 选择所有book节点
foreach (XmlNode node in nodeList)
{
string title = node.SelectSingleNode("title").InnerText; // 获取title节点的文本内容
string author = node.SelectSingleNode("author").InnerText; // 获取author节点的文本内容
Console.WriteLine("Title: {0}, Author: {1}", title, author);
}
```
2. 使用XmlReader解析XML文件
XmlReader是一种基于流的解析方式,可以逐个节点地读取XML文档中的数据,不需要将整个XML文档加载到内存中。
以下是一个使用XmlReader解析XML文件的例子:
```csharp
XmlReaderSettings xmlReaderSettings = new XmlReaderSettings();
xmlReaderSettings.IgnoreWhitespace = true; // 忽略空白
xmlReaderSettings.IgnoreComments = true; // 忽略注释
using (XmlReader xmlReader = XmlReader.Create("file.xml", xmlReaderSettings))
{
while (xmlReader.Read())
{
if (xmlReader.NodeType == XmlNodeType.Element && xmlReader.Name == "book")
{
string title = xmlReader.GetAttribute("title"); // 获取title属性的值
string author = xmlReader.GetAttribute("author"); // 获取author属性的值
Console.WriteLine("Title: {0}, Author: {1}", title, author);
}
}
}
```