从 javascript 加载 xml
我对 XML 完全陌生,而且我已经在这个非常简单的目标上苦苦挣扎了太久(尽管我可以在互联网上找到足够多的信息)。只需要此 xml 文件中的值:
<?xml version="1.0" encoding="UTF-8"?>
<materials>
<basic>
<uurloon>10</uurloon>
<setloon>100</setloon>
</basic>
<extra>
<geluid>150</geluid>
<ledset>35</ledset>
<strobo>20</strobo>
<laser>50</laser>
</extra>
</materials>
在 javascript 中,我使用此代码来获取 xml 数据:
// load xml file
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else { // IE 5/6
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET", "pricing.xml", false);
xhttp.send();
xmlDoc = xhttp.responseXML;
var uurloon = xmlDoc.getElementsByTagName("uurloon")[0].childNodes[0].text;
var setloon = xmlDoc.getElementsByTagName("setloon")[0].childNodes[0].text
alert('end');
但没有结果,因为我没有看到警报。
Totally new to XML and I've been struggling on this very simple objective for too long (though I can find enough on the internet about it). Just need the values out of this xml file:
<?xml version="1.0" encoding="UTF-8"?>
<materials>
<basic>
<uurloon>10</uurloon>
<setloon>100</setloon>
</basic>
<extra>
<geluid>150</geluid>
<ledset>35</ledset>
<strobo>20</strobo>
<laser>50</laser>
</extra>
</materials>
In javascript, I use this code to get the xml data:
// load xml file
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
} else { // IE 5/6
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET", "pricing.xml", false);
xhttp.send();
xmlDoc = xhttp.responseXML;
var uurloon = xmlDoc.getElementsByTagName("uurloon")[0].childNodes[0].text;
var setloon = xmlDoc.getElementsByTagName("setloon")[0].childNodes[0].text
alert('end');
No result though, cause I'm not seeing the alert..
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您的服务器未返回适当的
Content-Type
标头。仅当服务器返回Content-Type: text/xml
或类似的+xml
标头时,responseXML
属性才起作用。查看 Ajax 模式:
来自w3c:
如果您无权访问服务器并且无法更改
Content-Type
标头,请使用overrideMimeType
函数强制XMLHttpRequest
处理响应为text/xml
:引用:http://blog-rat.blogspot.com/2010/11/xmlhttprequestresponsexml-returns-null.html
Your server isn't returning the appropriate
Content-Type
header. TheresponseXML
property only works if the server returns aContent-Type: text/xml
or similar+xml
header.See Ajax Patterns:
From the w3c:
If you have no access to the server and can't change the
Content-Type
header, use theoverrideMimeType
function to force theXMLHttpRequest
to treat the response astext/xml
:citation: http://blog-rat.blogspot.com/2010/11/xmlhttprequestresponsexml-returns-null.html
我用一个名为 Price.xml 的文件进行了一个简单的测试:
并使用以下代码进行了 html:
并且对我有用。我认为您失败了,因为您正在调用
.text
属性而不是.textContent
。I make a simple test with a file called price.xml:
And html with this code:
And in works for me. I think fails for you because you are calling the
.text
atribute instead.textContent
.