Inventory Dom.xml
lt;?xml version="1.0"?>
lt;!--File Name:Inventory Dom.xml -->
lt;INVENTORY>
lt;BOOK Binding="mass market paperback">
lt;AUTHOR Born="1835"> Mark Twain
lt;PAGES> 298
lt;PRICE> $5.49
lt;/BOOK>
lt;BOOK Binding="trade paperback">
lt;TITLE> The Marble Faun
lt;AUTHOR Born="1804"> Nathaniel Hawthorne
lt;PAGES> 473
lt;PRICE> $10.95
lt;/BOOK>
lt;BOOK Binding="hardcover">
lt;TITLE> Moby-Dick
lt;AUTHOR Born="1819"> Herman Melville
lt;PAGES> 724
lt;PRICE> $9.95
lt;/BOOK>
lt;/INVENTORY>
每个节点,就像可程序化的对象,提供了属性和方法,让你可以存取、显示、管理,和取得对应到XML 组件上的信息。例如,nodeName 和nodeValue 属性(表9-1 所示)提供了元素的名称及内含值。
所有形态的节点共同分享一组公共的属性与方法。这些属性与方法一般是设计来偕同节点一起运作。表格9-2 列出了一些比较有用的共同属性。在本章稍后你将获得有关这些属性的更多信息及范例。
| 属性 | 描述 | 范例 |
| attributes | 该节点的所有非属性的子节点的NamedNodeMap 集合 | AttributeNode =Element.attributes.getNamedItem ("Binding"); |
| childNodes | 该节点的所有非属性的子节点的NodeList 集合 | FirstNode =Element.childNodes (0); |
| dataType | 该节点的数据类型(只适用于某些类型Attribute 节点) | AttributeType =Attribute.dataType; |
| firstChild | 该节点的第一个非属性的子节点 | FirstChildNode =Element.firstChild; |
| lastChild | 该节点的最后一个非属性的子节点 | LastChildNode =Element.lastChild; |
| nextSibling | 与本节点位于同一层级的后继前一节点 | NextElement =Element.nextSibling; |
| nodeName | 节点的名称 | ElementName =Element.nodeName; |
| nodeType | 表示该节点类型的数值码 | NodeTypeCode =Node.nodeType; |
| nodeTypeString | 包含该节点类型的字符串,以小写字母撰写(例如,"element"或"attribute") | NodeTypeString=Node.nodeTypeString; |
| nodeValue | 该节点的值(如果不含值则为null) | AttributeValue =Attribute.nodeValue; |
| ownerDocument | 包含本节点的文件的根Document 节点 | Document =Node.ownerDocument; |
| parentNode | 该节点的父节点(并不适用于Attribute 节点) | ParentElement =Element.parentNode; |
| previousSibling | 与本节点位于同一层级的先前节点 | PreviousElement =Element.previousSibling; |
| text | 该节点与其后裔节点的全部文字内容 | AllCharacterData =Element.text; |
| xml | 该节点与其后裔节点的全部XML 内容 | XMLContent =Element.xml; |
提示
有关属于不同形态节点对象的所有属性、方法,与事件的详细叙述,请参阅由MSDN 所提供的信息,网址为 http://msdn.microsoft.com/xml/reference/scriptref/xmldom_Objects.asp 。注意在该网页中,前置字符串XMLDOM 作为表格9-1 中每个节点名称的开端-例如,XMLDOMDocument、XMLDOMElement 与XMLDOMText.(这些是每个节点形态的程序接口的名称。) 也注意共同的节点属性和方法被列于XMLDOMNode 的后面。
除了共同的属性和方法外,每种类型的节点都提供了附加的属性和方法,来处理该节点类型所代表的特殊XML 组件。例如,文件节点(Document node)提供了parseError 属性,内含任何处理文件时所产生错误的相关信息。只有文件节点拥有这种属性。在本章稍后,你将看到一份描述某些节点类型的有用节点特殊属性和方法的表格。
提示
如果某个属性不适用于特定节点,则该属性将包含null 值。例如,如果某节点代表一个不包含任何属性的XML 文件(如Document 或Comment node)时,其attributes 属性将被设为null。如果某节点代表某个不含有任何数据类型(只有某些属性拥有数据类型)的XML 组件时,该节点的dataType 属性将被设为null。如果节点并没有任何非属性的子节点,其firstChild 属性将为null。而如果节点为不含值的类型(如Document 或Element node),其nodeValue 属性将被设为null。
注意,表格9-2 中,每个节点拥有一组属性,让你可以浏览节点的阶层架构,来从目前节点存取其它节点的资料。例如,在列表9-1 中的文件,如变量Document 包含了文件的根Document节点,后续的程序代码将会显示最接近文件起始部分批注的内容,而DOM 会将批注内容储存在Document 节点的第二个子节点中。
alert (Document.childNodes(1).nodeValue);
这行程序代码将会显示一个消息框,内含文字「File Name: In-ventory Dom.xml」。透过XML data island 取得DSO 的XMLDocument 成员对象,来存取根Document 节点。此Document 节点被视为存取XML 文件的网关(gateway)。
你使用该节点来存取其它的节点。
相关专题
- XML基础教程 (852次浏览)
- XML简介 (714次浏览)
- 如何读取XML文件内容 (561次浏览)
- XML与面向Web的数据挖掘技术 (544次浏览)
- 了解 XML实现通用的数据访问 (482次浏览)
- XML入门精解之文件格式定义(DTD) (376次浏览)
- XML的简单读取与写入 (339次浏览)
- DOM的结构 (329次浏览)
- XML入门之11问答 (323次浏览)
- XMLHTTP资料 (289次浏览)



