C#操作Xml的两种方式 XPath XmlDocument
来源:互联网 发布:淘宝店招和导航做全屏 编辑:程序博客网 时间:2024/04/28 08:19
现有 XML 文件,内容如下:
<?xml version="1.0" encoding="utf-8" ?>
<Company>
<Department >
<Name>IT Department</Name>
<Manager>猪头三</Manager>
<Employees>
<Employee>
<ID code="001" >10001</ID>
<Name>西门庆</Name>
<Gender>男</Gender>
</Employee>
<Employee>
<ID code="002">10202</ID>
<Name>潘金莲</Name>
<Gender>女</Gender>
</Employee>
</Employees>
</Department>
</Company> 需要取得 Name 为 “西门庆” 的 Employee 节点,用XPath实现如下:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load( Path.Combine( Environment.CurrentDirectory, "demo.xml" ) );
XmlNode emp = xmlDoc.SelectSingleNode( "/Company/Department/Employees/Employee[Name='西门庆']" );
//emp 即为 定位到的 Employee 节点 需要取得 code 为 002 的 Employee 节点,用 XPath 实现如下:
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load( Path.Combine( Environment.CurrentDirectory, "demo.xml" ) );
XmlNode emp = xmlDoc.SelectSingleNode( "/Company/Department/Employees/Employee/ID[@code='002']/parent::node()" ); XPath 寻径简介
xml文件,是一种树状结构, XPath 是针对xml文件寻径的一种 pattern。以开头的xml数据为例,下面给出几个常用的情形:
取得所有的 Employee
/Company/Department/Employees/EmployeeXPath的开头是一个斜线(/)代表绝对路径
取得所有的 Name,不分层次
//NameXPath 以 // 开头表示不限层次的一种模式
使用 * 匹配未知名称的元素(不能匹配未知层级)
1. 取得所有的 Employee
/Company/Department/Employees/*2. 取得Department下,包含有 Employee 作为子节点的节点
/Company/Department/*/Employee使用 [] 选择分支
XPath中的元素索引,是从 1 开始的
我们要选择 第一个 Employee
/Company/Department/Employees/Employee[1]选择最后一个Employee
/Company/Department/Employees/Employee[last()]选择叫西门庆的Employee
/Company/Department/Employees/Employee[Name='西门庆']多路选择
XPath 用 | 或者 Or 进行多路选择
/Company/Deparment/Manager | /Company/Deparment/Name选择属性
XPath中的属性,使用@开头
选择所有的 code 属性
0
0
0
- C#操作Xml的两种方式 XPath XmlDocument XmlNodeList
- C#操作Xml的两种方式 XPath XmlDocument XmlNodeList
- C#操作Xml的两种方式 XPath XmlDocument XmlNodeList
- C#操作Xml的两种方式 XPath XmlDocument XmlNodeList
- C#操作Xml的两种方式 XPath XmlDocument
- XmlDocument和LINQ to XML两种方式对xml的创建、查询
- C#操作XML的完整例子——XmlDocument篇
- C#操作XML的完整例子——XmlDocument篇
- C#操作XML的完整例子——XmlDocument篇
- C#操作XML的完整例子——XmlDocument篇
- C#操作XML的完整例子——XmlDocument篇
- C#操作XML的完整例子——XmlDocument,LIng
- C# XML文件的一些操作(XmlDocument、XmlElement、XmlNode)
- C#操作XML的完整例子——XmlDocument篇
- C#操作XML的完整例子——XmlDocument篇
- C# XML文件的一些操作(XmlDocument、XmlElement、XmlNode)
- C#通过XmlDocument操作Xml文档
- C#文件操作的两种方式
- ajax 用户 登录 功能
- 用java实现打印任一年的日历
- Web Service获取天气预报
- 关于C的书面格式
- 通信 socket
- C#操作Xml的两种方式 XPath XmlDocument
- Coolite新手教程一AjaxEvent、AjaxMethod和Listeners
- 如何限制应用程序只运行一次
- jsp mysql 的乱码问题以及解决方法
- jsp连接MySQL
- 分方向动员大会之前
- 帮下忙看下那里错拉 c语言
- 新人
- 输入类型检查,防止进入死循环