浩瀚

使用C#解析XML文件

什么是XML?

XML 称为可扩展标记性语言,是 eXtensible Markup Language 的缩写。在 .NET 框架中XML是非常重要的一部分,它用于描述数据,是当前处理结构化文档信息的有力工具。

XML 的声明

<?xml version="1.0" encoding="UTF-8" ?>

它一般在 XML 文档的第一行。XML 的声明由两部分组成:

  • version : 文档符合XML1.0规范
  • encoding : 文档字符编码,默认为UTF-8

使用C#解析 XML 文件

下面我们使用本站的xml地图经行示例演示:XML地图
需要解析XML文件首先我们需要先导入命名空间:using System.Xml;

XmlDocument doc = new XmlDocument();
doc.Load("https://www.ucuser.cn/sitemap.xml");
XmlElement xmlRoot = doc.DocumentElement;
foreach ( XmlNode item in xmlRoot.ChildNodes )
{
    Console.Write(item["loc"].Name + "\t" + item["loc"].InnerText + "\t");
    Console.Write(item["lastmod"].InnerText + "\t");
    Console.Write(item["changefreq"].InnerText + "\t");
    Console.Write(item["priority"].InnerText + "\n");
}
  • XmlDocument 对象可表示整个 XML 文档,它使用Load()方法将指定的 XML 文件读入 XmlDocument 对象,Load() 方法的参数是 XML 文档的路径。属性 DocumentElement 用于获取 XML 文件的根节点。
  • XmlNode 对象表示一个 XML 中的节点。ChildNodes 属性用于获取该节点的名称。如:<loc>URL</loc> item.Name 获取的是 loc 。而节点的 innerText 属性用于获取当前节点的值 如:<loc>URL</loc> item.InnerText 获取的是 URL 。

操作XML的对象属性和方法

对象属性和方法说明
DocumentElement属性获取根节点
XmlDocumentChildNodes属性获取所有子节点
Load()方法读取整个XML的结构
InnerText属性当前节点的值
XmlNodeName属性当前节点的名称
ChildNodes的属性当前节点的所有子节点