XML DOM Get Node Value

Ang nodeValue attribute ay ginagamit upang hanapin ang teksto ng node na halaga.

Ang getAttribute() method ay nangangahulugan ng halaga ng attribute.

Sample

Ang halimbawa sa ibaba ay gumagamit ng XML file books.xml.

Function loadXMLDoc(),na matatagpuan sa labas ng JavaScript, na ginagamit upang i-load ang XML file.

Hanapin ang halaga ng element
Ang halimbawa na ito ay gumagamit ng getElementsByTagName() upang hanapin ang unang <title> element sa "books.xml".
Hanapin ang halaga ng attribute
Ang halimbawa na ito ay gumagamit ng getAttribute() method upang hanapin ang halaga ng attribute ng "lang" ng unang <title> element sa "books.xml".

Hanapin ang halaga ng element

Sa DOM, ang bawat komponente ay naging node. Ang element node ay walang teksto na halaga.

Ang teksto ng element node ay naka-imbak sa sub-node. Ang node na ito ay tinatawag na text node.

Ang paraan ng paghanap ng teksto ng element ay ang paghanap ng halaga ng sub-node (text node) na ito.

Hanapin ang halaga ng element

Ang getElementsByTagName() method ay nangangahulugan ng listahan ng mga node na may tag na hahalaga, kung saan ang pagkakasunod-sunod ng mga element ay ang kanilang pagkakaroon sa orihinal na dokumento.

Ang kodigo sa ibaba ay ginagamit sa pamamagitan ng: loadXMLDoc() 把 "books.xml"I-load sa xmlDoc, at hanapin ang unang <title> element:

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.getElementsByTagName("title")[0];

Ang childNodes attribute ay nangangahulugan ng listahan ng mga sub-node. Ang <title> element ay may isang sub-node lamang, na isang text node.

Ang kodigo sa ibaba ay naghahanap ng text node ng <title> element:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];

Ang nodeValue attribute ay nangangahulugan ng teksto ng text node na halaga:

x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
txt = y.nodeValue;

Ang resulta: txt = "Harry Potter"

TIY

Suriin ang lahat ng <title> element:TIY

Hanapin ang halaga ng attribute

Sa DOM, ang attribute ay din naging node. Hindi katulad ng element node, ang attribute node ay may teksto na halaga.

Ang paraan ng paghanap ng halaga ng attribute ay ang paghanap ng kanilang teksto na halaga.

Maaari itong ginawa sa pamamagitan ng paggamit ng getAttribute() method o ng attribute node na may nodeValue attribute.

Hanapin ang halaga ng attribute - getAttribute()

Ang getAttribute() method ay nangangahulugan ng halaga ng attribute.

Ang kodigo ay naghahanap ng teksto ng halaga ng attribute ng "lang" ng unang <title> element:

xmlDoc=loadXMLDoc("books.xml");
txt=xmlDoc.getElementsByTagName("title")[0].getAttribute("lang");

结果:txt = "en"

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • 把 txt 变量设置为第一个 title 元素节点的 "lang" 属性的值

TIY

遍历所有 <book> 元素,并获取它们的 "category" 属性:TIY

获取属性值 - getAttributeNode()

getAttributeNode() 方法返回属性节点。

下面代码检索第一个 <title> 元素的 "lang" 属性的文本值:

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].getAttributeNode("lang");
txt=x.nodeValue;

结果:txt = "en"

例子解释:

  • 通过使用 loadXMLDoc() 把 "books.xml" 载入 xmlDoc 中
  • 获取第一个 <title> 元素节点的 "lang" 属性节点
  • 把 txt 变量设置为属性的值

TIY

循环所有 <book> 元素并获取它们的 "category" 属性:TIY