在本章中,将学习如何获取XML DOM对象的节点值。 XML文档具有称为节点的信息单元的层次结构。 Node对象有一个属性 - nodeValue,它返回元素的值。
在以下部分中,将讨论学习 -
- 获取元素的节点值
 - 获取节点的属性值
 
以下所有示例中使用的node.xml如下所示 -
<Company> 
   <Employee category = "Technical" id = "firstelement"> 
      <FirstName>Susen</FirstName> 
      <LastName>Su</LastName> 
      <ContactNo>1584567890</ContactNo> 
      <Email>susen@xuhuhu.com</Email> 
   </Employee>  
   <Employee category = "Non-Technical"> 
      <FirstName>Max</FirstName> 
      <LastName>Su</LastName> 
      <ContactNo>1334667898</ContactNo> 
      <Email>maxsu@xuhuhu.com</Email> 
   </Employee>  
   <Employee category = "Management"> 
      <FirstName>Min</FirstName> 
      <LastName>Su</LastName> 
      <ContactNo>1364562350</ContactNo> 
      <Email>minsu@xuhuhu.com</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应位于服务器中的同一路径上)。 在输出中得到节点值为:Susen ,如下图所示 - 

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应位于服务器中的同一路径上)。 在输出中得到节点属性值为:Management ,如下图所示 - 

						上一篇:
								XML DOM访问
												下一篇:
								XML DOM设置节点
												
						
						
					
					
					