XML DOM Kuro

Daga XML DOM, dukuna dake XML dokumentan neNode

  • Dokumentan na duniya ne node dokumentan
  • Kowane element XML ne node element
  • Tekst na element XML ne node tekst
  • Kowane aiki wata ne aiki node
  • Iyaliya na yadda

DOM Example

Tallafiya kafin amince (books.xml):

<?xml version="1.0" encoding="UTF-8"?>
<bookstore>
<book category="美食">
  <title lang="zh">雅舍谈吃</title>
  <author>梁实秋</author>
  <press>江苏文艺出版社</press>
  <year>2013</year>
  <price>35</price>
  <ISBN>9787539962771</ISBN>
</book>
<book category="儿童">
  <title lang="zh">daoli de liuhu baba</title>
  <author>luo er dai er</author>
  <translator> daiwei</translator>
  <press>mingtian chubanshe</press>
  <year>2009</year>
  <price>10</price>
  <ISBN>9787533259563</ISBN>
</book>
<book category="wenxue">
  <title lang="zh">jiang shouxiang bian wei sheng</title>
  <author>zigemo bao man</author>
  <author>pieter haffner</author>
  <translator>wang liqiu</translator>
  <press>nanjing daxue chubanshe</press>
  <year>2023</year>
  <price>68</price>
  <ISBN>9787305269387</ISBN>
</book>
<book category="kexue">
  <title lang="zh">ni xiang fei ma, xiang niao yiyang?</title>
  <author>li chajidao dousi</author>
  <author>yan a lunkuo wa</author>
  <translator>gaotianyu</translator>
  <press>hunan kexue jishu chubanshe</press>
  <year>2023</year>
  <price>88</price>
  <ISBN>9787571019075</ISBN>
</book>
<book category="zhengzhi" cover="pingzhuang">
  <title lang="zh">lun meiguo de minzhu</title>
  <author>duokewei</author>
  <translator>dong guoliang</translator>
  <press>shangwu yinshuguan</press>
  <year>1989</year>
  <price>60</price>
  <ISBN>9787100124553</ISBN>
</book>
</bookstore>

na aurenza na XML, root na <bookstore>.

ayi na aya na kawo na <bookstore>.

root na <bookstore> akwai 5 na <book>.

aurenza na <book> tashiya akwai 6 na aya: <title>、<author>、<press>、<year>、<price> da <ISBN>.

其中的每个子节点都包含一个文本节点:

  • “雅舍谈吃”
  • “梁实秋”
  • “江苏文艺出版社”
  • “2012”
  • “48.00”
  • “9787100011105”

文本始终存储在文本节点中

在 DOM 处理中一个普遍的错误是,认为元素节点包含文本。

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

在这个例子中:<year>2013</year>,元素节点 包含值为 "2012" 的文本节点。

"2012" 不是 元素的值!

XML DOM 节点树

XML DOM 把 XML 文档视为一种树结构。这种树结构被称为节点树

可通过这棵树访问所有节点。可以修改或删除它们的内容,也可以创建新的元素。

这颗节点树展示了节点的集合,以及它们之间的联系。这棵树从根节点开始,然后在树的最低层级向文本节点长出枝条:

DOM na'urin na kaiyuka

上图表示 XML 文件 books.xml

父、子和同胞节点

节点树中的节点彼此之间都有等级关系。

术语“父”、“子”和“同胞”用于描述这种关系。父节点有子节点。位于相同层级上的子节点称为同级节点或同胞节点(兄弟或姐妹)。

  • 在节点树中,顶部节点称为根
  • 除根节点外,每个节点都只有一个父节点
  • 节点可以有任意数量的子节点
  • 叶子是没有子节点的节点
  • 同胞节点是拥有相同父节点的节点

下图展示了节点树的一部分,以及节点之间的关系:

DOM na'urin na kaiyuka

因为 XML 数据是按照树的形式进行构造的,所以可以在不了解树的确切结构且不了解其中包含的数据类型的情况下,对其进行遍历。

ka ƙaɗan karin ƙasa kuma ka ƙaɗan karin ƙasa a binciken wasan kwaikwaiya, za a ƙaɗan karin karin ƙasa game da ƙaɗan karin ƙasa a cikin karamin ƙasa.

sauyi:karami: Parent Node, yunkuri: Children Node, karami da yunkuri: Sibling Node.

karami kara kuma yunkuri

qaikarancin kaɗan kasa:

<bookstore>
  <book category="美食">
    <title lang="zh">雅舍谈吃</title>
    <author>梁实秋</author>
	<press>江苏文艺出版社</press>
    <year>2013</year>
    <price>35</price>
	<ISBN>9787100011105</ISBN>
  </book>
</bookstore>

在上面的 XML 中,<title> 元素是 <book> 元素的第一个子节点,<ISBN> 元素是 <book> 元素的最后一个子节点。

此外,<book> 元素是 <title>、<author>、<year>、<press>、<price> 和 <ISBN> 元素的父节点。