加入收藏 | 设为首页 | 会员中心 | 我要投稿 汽车网 (https://www.0577qiche.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

XML DOM获取节点的方法

发布时间:2023-09-21 11:05:16 所属栏目:教程 来源:
导读:将学习如何获取XML DOM对象的节点值。 XML文档具有称为节点的信息单元的层次结构。 Node对象有一个属性 - nodeValue,它返回元素的值。

在以下部分中,将讨论学习 -
获取元素的节点值
获取节点的属性值

以下
将学习如何获取XML DOM对象的节点值。 XML文档具有称为节点的信息单元的层次结构。 Node对象有一个属性 - nodeValue,它返回元素的值。

在以下部分中,将讨论学习 -
获取元素的节点值
获取节点的属性值

以下所有示例中使用的node.xml如下所示 -
<Company> 
   <Employee category = Technical id = firstelement> 
      <FirstName>Susen</FirstName> 
      <LastName>Su</LastName> 
      <ContactNo>1584567890</ContactNo> 
      <Email>susen@jb51.cc</Email> 
   </Employee>  
   <Employee category = Non-Technical> 
      <FirstName>Max</FirstName> 
      <LastName>Su</LastName> 
      <ContactNo>1334667898</ContactNo> 
      <Email>maxsu@jb51.cc</Email> 
   </Employee>  
   <Employee category = Management> 
      <FirstName>Min</FirstName> 
      <LastName>Su</LastName> 
      <ContactNo>1364562350</ContactNo> 
      <Email>minsu@jb51.cc</Email> 
   </Employee> 
</Company>

1. 获取节点值
使用getElementsByTagName()方法以文档顺序返回具有给定标记名称的所有元素的NodeList。

示例
以下示例(getnode example.html)将XML文档(node.xml)解析为XML DOM对象,并提取子节点Firstname的节点值(索引为0) -
<!DOCTYPE html>
<html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else{
            xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);
         }
         xmlhttp.open(GET,/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.html 并放在服务器WEB目录中(此文件和node.xml应位于服务器中的同一路径上)。 

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

getAttribute()方法按元素名称检索属性值。

示例
以下示例(get_attribute.html )将XML文档(node.xml)解析为XML DOM对象,并提取Employee中的category属性的值(索引是2) -

<!DOCTYPE html>
<html>
   <body>
      <script>
         if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
         } else {
            xmlhttp = new ActiveXObject(Microsoft.XMLHTTP);
         }
         xmlhttp.open(GET,/node.xml,false);
         xmlhttp.send();
         xmlDoc = xmlhttp.responseXML;
         x = xmlDoc.getElementsByTagName('Employee')[2];
         document.write(x.getAttribute('category'));
      </script>
   </body>
</html>
执行
将此文件保存为:getnode_example.html 并放在服务器WEB目录中(此文件和node.xml应位于服务器中的同一路径上)。 

(编辑:汽车网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章