无法使用本地系统上的javascript HTML DOM解析xml数据

时间:2016-08-27 11:43:41

标签: javascript html xml dom

我在很多浏览器上试过了tutorialspoint网站上的这个示例代码。但是没有解析xml数据。这两个文件都在我的本地系统上,而address.xml文件在文件夹“xml”中。

如何从本地系统上的xml文件解析javascript中的数据?

以下是来自tutorialspoint网站的HTML文件sample.html:

<!DOCTYPE html>
<html>
   <body>
      <h1>TutorialsPoint DOM example </h1>
      <div>
         <b>Name:</b> <span id="name"></span><br>
         <b>Company:</b> <span id="company"></span><br>
         <b>Phone:</b> <span id="phone"></span>
      </div>
      <script>
         if (window.XMLHttpRequest)
         {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
         }
         else
         {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
         }
         xmlhttp.open("GET","/xml/address.xml",false);
         xmlhttp.send();
         xmlDoc=xmlhttp.responseXML;

         document.getElementById("name").innerHTML=
         xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;
         document.getElementById("company").innerHTML=
         xmlDoc.getElementsByTagName("company")[0].childNodes[0].nodeValue;
         document.getElementById("phone").innerHTML=
         xmlDoc.getElementsByTagName("phone")[0].childNodes[0].nodeValue;
      </script>
   </body>
</html>

这是xml数据文件address.xml:

<?xml version="1.0"?>
<contact-info>
   <name>Tanmay Patil</name>
   <company>TutorialsPoint</company>
   <phone>(011) 123-4567</phone>
</contact-info>

更新:问题在于在本地系统上获取http响应。安装XAMPP后解决了这个问题。

2 个答案:

答案 0 :(得分:1)

使用解析如下

0xbebd5ea4

答案 1 :(得分:0)

这个XML解析示例,如果你在变量中有xml值。

&#13;
&#13;
Sample = "<contact-info><name>Tanmay Patil</name><company>TutorialsPoint</company><phone>(011) 123-4567</phone></contact-info>";
         
if (window.DOMParser)


 {
    parser = new DOMParser();
    xmlDoc = parser.parseFromString(Sample, "text/xml");
  }

document.getElementById("name").innerHTML=
xmlDoc.getElementsByTagName("name")[0].childNodes[0].nodeValue;

document.getElementById("company").innerHTML=
xmlDoc.getElementsByTagName("company")[0].childNodes[0].nodeValue;

document.getElementById("phone").innerHTML=
xmlDoc.getElementsByTagName("phone")[0].childNodes[0].nodeValue;

   
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

         <b>Name:</b> <span id="name"></span><br>
         <b>Company:</b> <span id="company"></span><br>
         <b>Phone:</b> <span id="phone"></span>
    
&#13;
&#13;
&#13;