gpt4 book ai didi

javascript - 使用 XMLHttpRequest,读取 XML 数据

转载 作者:数据小太阳 更新时间:2023-10-29 02:48:45 26 4
gpt4 key购买 nike

我正在尝试读取 xml 文件,但不知何故我收到此错误:参数数量无效。

<script type="text/javascript"> 
//<![CDATA[
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", "employee.XML", false);
xmlhttp.send();
xmlDoc = xmlhttp.responseXML;

var empid= xmlDoc.getElementsByTagName("empid");
var total = placeMarks.length;
var names = xmlDoc.getElementsByTagName("Name");
var designation= xmlDoc.getElementsByTagName("designation");
var phone= xmlDoc.getElementsByTagName("phone");
.....
</script>

XML 数据:

<employee>
<emp id="1007">
<name>John Chamber</name>
<designation>Web Expert1</designation>
<phone>555-55-555</phone>
<name>John D</name>
<designation>Web123123</designation>
<phone>555-55-555</phone>
<name>Chamber</name>
<designation>Web Expert</designation>
<phone>555-55-555</phone>
<name>Thomas</name>
<designation>TESTTEST</designation>
<phone>555-55-555</phone>

</emp>
</employee>

最佳答案

首先如下所示分支您的代码,以查看服务器是否使用正确的 200 响应进行响应。

            xmlhttp.open("GET", "employee.XML", false); 
xmlhttp.send(null);
if (xmlhttp.status==200) {

xmlDoc = xmlhttp.responseXML;
var empid= xmlDoc.getElementsByTagName("emp");
var total = placeMarks.length;
var names = xmlDoc.getElementsByTagName("Name");
var designation= xmlDoc.getElementsByTagName("designation");
var phone= xmlDoc.getElementsByTagName("phone");
..... ;
}

else if (xmlhttp.status==404) {
alert("XML could not be found");
}

此外,我的建议是使用像 jQuery 这样的 javascript 库,它可以为您完成大部分繁重的工作。用于创建 XHR 对象的整个代码简化为一行

$.get(url,function(data){
xmlDoc = data;
var empid= xmlDoc.getElementsByTagName("emp");
var total = placeMarks.length;
var names = xmlDoc.getElementsByTagName("Name");
var designation= xmlDoc.getElementsByTagName("designation");
var phone= xmlDoc.getElementsByTagName("phone");
});

最后,无论您使用哪种现代浏览器,都应该能够轻松指出脚本中的哪一行引发了错误。如果问题仍然存在,请确认是哪一行引发了错误。

编辑问题范围发生了变化。 OP 现在想要遍历 xml。首先,需要设计 xml,牢记需求。因此它应该看起来像这样

<employees>
<emp id="006">
<name>John Chamber</name>
<designation>Web Expert1</designation>
<phone>555-55-555</phone>
</emp>
<emp id="007">
<name>John D</name>
<designation>Web123123</designation>
<phone>555-55-555</phone>
</emp>
<emp id="008">
<name>Chamber</name>
<designation>Web Expert</designation>
<phone>555-55-555</phone>
</emp>
<emp id="009">
<name>Thomas</name>
<designation>TESTTEST</designation>
<phone>555-55-555</phone>
</emp>
</employees>

现在是解析xml的javascript

var emp=xmlDoc.getElementsByTagName("emp");
for (i=0;i<emp.length;i++) {
var names=emp[i].childNodes[0].text;
var designation= emp[i].childNodes[1].text;
......
}

关于javascript - 使用 XMLHttpRequest,读取 XML 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4316266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com