XML DOM文档对象模型解析
创始人
2024-07-15 02:30:50
0

这里向大家描述一下XML DOM文档对象模型的用法,DOM文档对象模型使您能够以编程方式读取、处理和修改XML文档,请看下面详细介绍。

XML DOM文档对象模型

XML DOM文档对象模型类是XML文档的内存中表示形式。DOM文档对象模型使您能够以编程方式读取、处理和修改XML文档。XmlReader类也读取XML,但它提供非缓存的只进、只读访问。这意味着使用XmlReader无法编辑属性值或元素内容,也无法插入和移除节点。编辑是DOM文档对象模型的主要功能。XML数据在内存中表示是常见的结构化方法,尽管实际的XML数据在文件中时或从另一个对象传入时以线性方式存储。以下是XML数据。

输入

    1.  
    2.  
    3.  
    4. Carson 
    5. 31.95 
    6. 05/01/2001 
    7.  
    8.  
    9. MSPress 
    10. WA 
    11.  
    12.  

下图显示将此XML数据读入DOM文档对象模型结构中时如何构造内存。

XML文档结构

XML文档结构

在XML文档结构中,此图中的每个圆圈表示一个节点(称为XmlNode对象)。XmlNode对象是DOM树中的基本对象。XmlDocument类(扩展XmlNode)支持用于对整个文档执行操作(例如,将文档加载到内存中或将XML保存到文件中)的方法。此外,XmlDocument提供了查看和处理整个XML文档中的节点的方法。XmlNode和XmlDocument都具有性能和可用性增强,并通过方法和属性执行下列操作:

◆访问和修改DOM文档对象模型特定的节点,如元素节点、实体引用节点等。

◆除检索节点包含的信息(如元素节点中的文本)外,还检索整个节点。

注意

如果应用程序不需要DOM提供的结构或编辑功能,则XmlReader和XmlWriter类提供对XML的非缓存的只进流访问。有关更多信息,请参见用XmlReader读取XML和使用XmlWriter编写XML。

Node对象具有一组方法和属性以及基本的和定义完善的特性。其中的某些特性包括:

◆节点有单个父节点,父节点是与节点相邻的上一级节点。唯一没有父级的节点是文档根,因为它是顶级节点,包含了文档本身和文档片段。

◆大多数节点可以有多个子节点,子节点是与节点相邻的下一级节点。以下是可以有子节点的节点类型列表。

Document

DocumentFragment

EntityReference

Element

Attribute

XmlDeclaration、Notation、Entity、CDATASection、Text、Comment、ProcessingInstruction和DocumentType节点没有子节点。

◆处于同一级别、在关系图中由book和pubinfo节点表示的节点是同辈。

DOM文档对象模型的一个特性是处理属性的方式。属性是不属于父子关系和同辈关系的节点。属性被视为元素节点的属性,由名称和值对组成。例如,如果存在由与元素price关联的format="dollar"组成的XML数据,则单词format是名称,format属性的值是dollar。为检索price节点的format="dollar"属性,可以在游标位于price元素节点时调用GetAttribute方法。有关更多信息,请参见访问DOM中的属性。

将XML读入内存时会创建节点。然而,并非所有节点都是同一类型。XML中的元素具有不同于处理指令的规则和语法。因此,在读取各种数据时,将为每个节点分配一种节点类型。此节点类型确定节点的特性和功能。

有关在内存中生成的节点类型的更多信息,请参见XML节点类型。有关在节点树中创建的对象的更多信息,请参见将对象层次结构映射到XML数据。

Microsoft扩展了万维网联合会(W3C)DOM级别1和级别2中可用的API,使XML文档的使用更容易。在完全支持W3C标准的同时,??加的类、方法和属性增加了使用W3CXMLDOM无法完成的功能。新类使您能够访问关系数据,为您提供与ADO.NET数据同步、同时将数据作为XML公开的方法。有关更多信息,请参见使DataSet与XmlDataDocument同步。

在将XML数据读入内存,以更改其结构、添加或移除节点或者与在元素包含的文本中一样修改节点所保存的数据时,DOM文档对象模型最有用。不过,在其他方案中,还有其他比DOM更快的类。要对XML进行快速非缓存只进流访问,请使用XmlReader和XmlWriter。如果需要用游标模型和XPath进行随机访问,请使用XPathNavigator类。
 

【编辑推荐】

  1. 探究DOM文档对象模型用法
  2. W3C DOM模型用法详解
  3. 深入学习DOM模型基础
  4. 深入了解JavaScript HTML DOM对象
  5. 术语汇编 Javascript DOM技术探究

 

 

相关内容

热门资讯

如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
20个非常棒的扁平设计免费资源 Apple设备的平面图标PSD免费平板UI 平板UI套件24平图标Freen平板UI套件PSD径向平...
德国电信门户网站可实时显示全球... 德国电信周三推出一个门户网站,直观地实时提供其安装在全球各地的传感器网络检测到的网络攻击状况。该网站...
着眼MAC地址,解救无法享受D... 在安装了DHCP服务器的局域网环境中,每一台工作站在上网之前,都要先从DHCP服务器那里享受到地址动...
为啥国人偏爱 Mybatis,... 关于 SQL 和 ORM 的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行...