最新的Web开发教程
 

XML DOM节点


在DOM,一切XML文档中的一个节点。


DOM节点

根据DOM中,一切在XML文档中是一个node 。

DOM中说:

  • 整个文档是文档节点
  • 每个XML元素是元素节点
  • 在XML元素的文本是文本节点
  • 每个属性是属性节点
  • 注释是注释节点

DOM实例

请看下面的XML文件( books.xml ):

×

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
  <book category="children">
    <title lang="en">Harry Potter</title>
    <author>J K. Rowling</author>
    <year>2005</year>
    <price>29.99</price>
  </book>
  <book category="web">
    <title lang="en">XQuery Kick Start</title>
    <author>James McGovern</author>
    <author>Per Bothner</author>
    <author>Kurt Cagle</author>
    <author>James Linn</author>
    <author>Vaidyanathan Nagarajan</author>
    <year>2003</year>
    <price>49.99</price>
  </book>
  <book category="web" cover="paperback">
    <title lang="en">Learning XML</title>
    <author>Erik T. Ray</author>
    <year>2003</year>
    <price>39.95</price>
  </book>
</bookstore>

在上面的XML根节点被命名为<bookstore> 。 在文档中的所有其他节点都包含在<bookstore>

根节点<bookstore>包含了四个<book>节点。

第一个<book>节点包含了四个节点: <title>, <author>, <year><price> ,其中包含一个文本节点的每个, "Everyday Italian", "Giada De Laurentiis""2005""30.00"


文本是文本节点总是存储

在DOM处理一个常见的错误是期望包含文字元素节点。

然而,元素节点的文本存储在文本节点。

在这个例子中: <year>2005</year> ,元素节点<year> ,保存与价值文本节点"2005"

“2005”是not该值<year>元素!


该XML DOM节点树

该XML DOM将XML文档作为树结构。 树结构被称为node-tree.

所有节点都可以通过树进行访问。 它们的内容可以修改或删除,并且新的元素可以被创建。

节点树示出了节点集,和它们之间的连接。 树开始于根节点和流出到在树的最低层的文本节点分支:

DOM节点树

上面的图片表示XML文件的Books.xml


节点父母,子女,兄弟姐妹和

在节点树中的节点必须彼此的层级关系。

术语父母,子女,兄弟姐妹和用于描述该关系。 父节点有孩子。 在同一水平上的孩子被称为兄弟姐妹(brothers or sisters)

  • 在节点树中,顶节点被称为根
  • 每个节点,除了根,有且只有一个父节点
  • 一个节点可以有任意数量的子
  • 叶是一个没有孩子的节点
  • 兄弟姐妹都使用相同的父节点

下面的图像示出了节点树和节点之间的关系中的一部分:

节点树

因为XML数据以树形式的结构,它可以在不知道该树的确切结构和不知道包含于数据的类型来运行。

您将了解更多有关本教程的后面章节遍历节点树。


第一个孩子 - 最后一个孩子

请看下面的XML片段:

<bookstore>
  <book category="cooking">
    <title lang="en">Everyday Italian</title>
    <author>Giada De Laurentiis</author>
    <year>2005</year>
    <price>30.00</price>
  </book>
</bookstore>

在上面的XML中, <title>元素是的第一个孩子<book>元素和<price>元素是最后一个子<book>元素。

此外, <book>元素是的父节点<title>, <author>, <year> , and <price> elements. <title>, <author>, <year> , and <price> elements.