返回首页
当前位置: 主页 > 编程语言 > XML教程 >

XML DOM-获取节点

时间:2020-07-07 11:29来源:电脑教程学习网 www.etwiki.cn 编辑:小山哥

在本章中,我们将研究如何获取XML DOM对象节点值。XML文档具有称为节点的信息单元层次结构。Node对象具有属性nodeValue,该属性返回元素的值。

在以下各节中,我们将讨论-

  • 获取元素的节点值

  • 获取节点的属性值

以下所有示例中使用node.xml如下-

<Company>
   <Employee category = "Technical">
      <FirstName>Tanmay</FirstName>
      <LastName>Patil</LastName>
      <ContactNo>1234567890</ContactNo>
      <Email>tanmaypatil@xyz.com</Email>
   </Employee>
   
   <Employee category = "Non-Technical">
      <FirstName>Taniya</FirstName>
      <LastName>Mishra</LastName>
      <ContactNo>1234667898</ContactNo>
      <Email>taniyamishra@xyz.com</Email>
   </Employee>
   
   <Employee category = "Management">
      <FirstName>Tanisha</FirstName>
      <LastName>Sharma</LastName>
      <ContactNo>1234562350</ContactNo>
      <Email>tanishasharma@xyz.com</Email>
   </Employee>
</Company>

获取节点值

方法getElementsByTagName()以给定的标签名称返回文档顺序的所有ElementsNodeList

下面的例子(getnode_example.htm)解析XML文档(node.xml)成XML DOM对象,并且提取子的节点值节点(在0的索引) -

<!DOCTYPE html>
<html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else{
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         x = xmlDoc.getElementsByTagName('FirstName')[0]
         y = x.childNodes[0];
         document.write(y.nodeValue);
      </script>
   </body>
</html>

执行

将此文件另存为服务器路径上的getnode_example.htm(此文件和node.xml应位于服务器中的同一路径上)。在输出中,我们得到的节点值为Tanmay

获取属性值

属性是XML节点元素的一部分。一个节点元素可以具有多个唯一属性。该属性提供有关XML节点元素的更多信息。更精确地说,它们定义了节点元素的属性。XML属性始终是名称/值对。该属性的值称为属性节点

所述的getAttribute()方法检索由元素名称的属性值。

以下示例(get_attribute_example.htm)将XML文档(node.xml)解析为XML DOM对象,并提取类别Employee(索引为2)的属性值-

<!DOCTYPE html>
<html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else {
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/dom/node.xml",false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;

         x = xmlDoc.getElementsByTagName('Employee')[2];
         document.write(x.getAttribute('category'));
      </script>
   </body>
</html>

执行

在服务器路径上将此文件另存为get_attribute_example.htm(此文件和node.xml应该在服务器中的同一路径上)。在输出中,我们获得的属性值为Management

 上一页  打印页面

------分隔线----------------------------
标签(Tag):
------分隔线----------------------------
推荐内容
  • XML DOM-获取节点

    在本章中,我们将研究如何获取 XML DOM对象 的 节点 值。 XML文档具有称为节点的信息...

  • XML DOM - Accessing

    在本章中,我们将研究如何访问被视为XML文档信息单元的XML DOM节点。 XML DOM的节点结...

  • XML DOM-导航

    到目前为止,我们研究了DOM结构,如何加载和解析XML DOM对象以及如何遍历DOM对象。 在...

  • XML DOM-遍历

    在本章中,我们将讨论XML DOM遍历。 在 上一章 中,我们研究了 如何加载XML文档并解析...

  • XML DOM-载入中

    在本章中,我们将研究XML 加载 和 解析 。 为了描述API提供的接口,W3C使用一种称为接...

  • XML DOM-方法

    作为API的DOM包含表示可以在XML文档中找到的不同类型信息的接口,例如元素和文本。 这...

猜你感兴趣