在.NET中使用XML的基本方法

格式良好的XML文档:

有且只有一个根元素

每个元素都有结束标记(简短语法除外)

没有重叠元素(所有子元素必须完全嵌套在父元素内)

所有特性必须放在引号内

XML支持两种方法验证,DTD和模式,前者将被后者取代,模式允许规定元素和属性的数据类型,而且使用XML兼容的语法编写。如果有已经写好的XML文件,VS可以为它生成schema

 

XML DOM的类在system.xml中:

XmlNode 这个类表示文档树中的一个节点,是很多类的基类,如果表示根,就可以导航到任意位置

XmlDocument 扩展了xmlNode类,常是使用xml的第一个对象,因为这个类用于加载磁盘或其他地方的数据并在这些位置保存数据

XmlElement 表示xml中的一个元素

XmlAttribute 表示一个特性,和xmlDocument一样派生于xmlNode类

XmlText 表示开始标记和结束标记之间的文本

XmlComment 表示一种特殊类型节点,不是文档一部分,但提供各部分信息

XmlNodeList表示一个节点集合

 

XmlElement 类提供的用来导航的属性:

FirstChild 这个属性返回当前节点之后的第一个子节点

LastChild  这个属性返回当前节点的最后一个子节点

ParentNode 这个属性返回当前节点的父节点

NextSibling 返回有相同父节点的下一个节点

HasChildNodes 检查当前元素是否有子元素,无需获取firstChild的值并检查是否为null

 

操作节点的值(两个方法一个属性):

InnerText 这个属性获取当前节点中所有子节点的文本,把它作为一个串联字符串返回

InnerXml 这个属性返回类似于innerText的文本,也返回所有的标记

Value  这个属性是操作文档中信息的最精炼方式

 

XMLDocument类的方法可以创建新的xmlNode和XmlElement实例(这两个类只有一个受保护的构造函数,不能直接使用new创建)

插入新节点的方法:

CreateNode 创建任意类型的节点,有三个重载版本

CreateElement 这只是createNode的一个版本,只能创建xmlElement类型的节点

CreateAttribute 这也只是CreateNode的一个版本,只能创建XmlAttribute类型的节点

CreateTextNode 创建XmlTextNode类型的节点

CreateComment 创建注释

AppendChild 把一个子节点追加到XmlNode类型或其派生类型的节点上,显示在相应节点的子节点列表的最后

InsertAfter 可以控制插入新节点的位置

InsertBefore 插入参考节点的前面

 

删除节点:

RemoveAll 这个方法删除节点上的所有子节点,它还会删除节点上的所有特性

RemoveChild 这个方法删除节点上的一个子节点,返回从文档中删除的节点

 

选择节点:

SelectSingleNode 选择一个节点,如果创建一个查找多个节点的查询,就返回第一个节点

SelectNodes 以XmlNodesList类的形式返回一个节点集合

 

Xpath执行的最常见操作:

选择当前节点 .

选择当前节点的父节点 ..

选择当前节点的所有子节点 *

选择带有特定名称的所有子节点,这里是title  title

选择当前节点的一个特性 @type

选择当前节点的所有特性 @*

按照索引选择一个子节点 element[2]

选择当前节点的所有文本节点 text()

选择当前节点的一个或多个孙子节点 element/text()

在文档中选择带有特定名称的所有节点,这里是mass节点 //mass

在文档中选择带有特定名称和特定父节点名称的所有节点 //element/name

选择值满足条件的节点,在这里选择元素名为Hydrogen的元素 //element[name=’Hygrogen’]

选择特性值满足条件的节点 //element[@type=’Nodegas’]

转载于:https://www.cnblogs.com/ongoing/archive/2012/11/25/2787496.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值