DOM 节点

  • 定义和使用

    根据DOM,XML文档中的所有内容都是一个节点。
    DOM说:
    • 整个文档是一个文档节点
    • 每个XML元素都是一个元素节点
    • XML元素中的文本是文本节点
    • 每个属性都是一个属性节点
    • 评论是评论节点
  • DOM 示例

    查看以下XML文件(books.xml):
    <?xml version="1.0" encoding="UTF-8"?>
    <bookstore>
      <book category="cooking">
        <title>中国历史</title>
        <author>P K. ling</author>
        <year>2006</year>
        <price>30.00</price>
      </book>
      <book category="children">
          <title>大汉史记</title>
          <author>J K. Rowling</author>
          <year>2005</year>
          <price>29.99</price>
      </book>
      <book category="web">
          <title>学习 XML</title>
          <author>Erik T. Ray</author>
          <author>Erik T. Ray2</author>
          <author>Erik T. Ray3</author>
          <year>2003</year>
          <price>39.95</price>
      </book>
      <book category="web" cover="paperback">
        <title>学习Java</title>
        <author>J P.ling</author>
        <year>2005</year>
        <price>49.99</price>
      </book>
    </bookstore>
    
    
    上面的XML中的根节点名为<bookstore>。 文档中的所有其他节点都包含在<bookstore>中。
    根节点<bookstore>包含四个<book>节点。
    DOM处理中的一个常见错误是期望元素节点包含文本。
    但是,元素节点的文本存储在文本节点中。
    在此示例中:<year>2006</year>,元素节点<year>,保存一个值为“2006”的文本节点。
    第一个<book>节点包含四个节点:<title>,<author>,<year>和 <price>,每个节点包含一个文本节点:“中国历史”,“P K. ling”,“2006” 和 “30.00”。
  • XML DOM 节点树

    XML DOM 将 XML 文档视为树结构。树结构称为节点树。
    可以通过树访问所有节点。可以修改或删除其内容,并可以创建新元素。
    节点树显示节点集及其之间的连接。该树从根节点开始,并分支到树的最低层的文本节点:
    nodetree
    上面的图像代表上面示例的XML文件books.xml。
  • 节点父级, 子级和同级

    节点树中的节点之间具有层次关系。
    术语“父母”,“孩子”和“兄弟姐妹”用于描述关系。 父节点有孩子。 同级的孩子称为兄弟姐妹(兄弟或姐妹)。
    • 在节点树中,顶部节点称为根
    • 除根之外,每个节点都只有一个父节点
    • 一个节点可以有任意数量的子节点
    • 叶子是没有子节点
    • 兄弟姐妹是具有相同父代的节点
    下图说明了节点树的一部分以及节点之间的关系:
    navigate
    因为XML数据是以树的形式构造的,所以可以在不知道树的确切结构且不知道其中包含的数据类型的情况下遍历XML数据。
  • 第一个Child - 最后一个Child

    查看以下XML片段:
    <?xml version="1.0" encoding="UTF-8"?>
    <bookstore>
      <book category="cooking">
        <title>中国历史</title>
        <author>P K. ling</author>
        <year>2006</year>
        <price>30.00</price>
      </book>
    
    
    在上面的XML中,<title>元素是<book>元素的第一个子元素,而<price>元素是<book>元素的最后一个子元素。
    此外,<book>元素是<title>,<author>,<year>和<price>元素的父节点。