[C#] XML文件访问基础
操作XML文件需要引用System.Xml命名空间。
using System.Xml
https://files.cnblogs.com/suchangyu/xmlAccess.rar
using System.Xml
打开一个XML
一般,根据xml文件名,将其直接Load到内存中来:XmlDocument _doc = new XmlDocument();
_doc.Load( _fileName );
_doc.Load( _fileName );
根据Xpath选择指定节点
使用SelectSingleNode方法,选择匹配的第一个节点:xmlPageNode = _doc.SelectSingleNode( string.Format( "//Resource[@tag='{0}']", tag ) );
访问XmlNode
根据需要,访问XmlNode的属性,例如(Attributes 或者 InnerText )。XPath基本语法
通过例子,说明Xpath的基本语法。例如存在以下Xml文件:<?xml version="1.0" encoding="ISO-8859-1"?>
<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
以下列出一些Xpath表达式,以及对应的选择结果:<bookstore>
<book>
<title lang="eng">Harry Potter</title>
<price>29.99</price>
</book>
<book>
<title lang="eng">Learning XML</title>
<price>39.95</price>
</book>
</bookstore>
XPath表达式 | 选择结果 |
---|---|
bookstore | 选择bookstore元素的所有子节点 |
/bookstore | 选择bookstore跟节点 |
bookstore/book | 选择bookstore节点的所有子节点 |
//book | 选择所有book节点,无论它位于文档的什么位置 |
bookstore//book | 选择bookstore节点的后代中所有book元素 |
//@lang | 选择所有名为lang的属性 |
/bookstore/book[1] | 选择bookstore节点的第一个book节点 |
//title[@lang] | 选择所有包含名为lang属性的title节点 |
//title[@lang='eng'] | 选择所有包含lang属性为‘eng’的title节点 |
/bookstore/book[price>35.00] | 选择所有price元素值大于35,bookstore的book子节点 |
/bookstore/* | 选择bookstore节点的所有子节点 |
//title[@*] | 选择包含属性的所有title节点 |
xml查询类及其测试
程序在链接的文件中:https://files.cnblogs.com/suchangyu/xmlAccess.rar