2017-09-16 71 views
0

我想getElementsByTagName在xml文件中。 这是我的代码(.html)。如何通过使用java脚本来读取xml

<html> 
    <header> 
     <title>Read XML</title> 
    </header> 
    <body> 
     <h1>Hello My Application</h1> 
     <script type="text/javascript"> 
     function readXML() 
     { 
      var xml= new XMLHttpRequest(); 
      xml.open('GET', 'C:\Users\xxx\Testxml.xml'); 
      //xml.send(); 
      var xmlData = xml.responseText; 
      if(!xmlData) 
      { 
       xmlData = (new DOMParser()).parseFromString(xml.responseText, 'text/xml'); 
       var emp = xmlData.getElementsByTagName("employee"); 
       var name= emp[0].getElementsByTagName("name")[0].firstChild.data; 
       document.write("Name = " + name); 
      } 
     } 
     </script> 
     <button onclick="readXML()">Read XML File</button> 
    </body> 
</html> 

我跑filename.html但有错误就行var name= emp[0].getElementsByTagName("name")[0].firstChild.data;

这是我的XML文件。

<company> 
    <employee> 
     <name>Chrish</name> 
     <age>40</age> 
     <salary>100</salary> 
    </employee> 
</company> 

请问您能帮我吗?

Error

回答

0

您是否尝试过记录你的XMLDATA的变量,看看是否你实际上是能够读取XML文件?因为,据我所知,在javascript中读取本地xml文件是不允许的。您可以尝试通过File API读取它。详细了解它here

其次,你的if条件似乎不正确。您正在检查(!xmlData),这意味着它将在xmlData为空时运行,而它应该在您实际能够在xmlData变量中获取数据时运行。