我从一个输入值获得此内容:
var xml_url = $("input").val();
alert(xml_url);
输出:
<trans>
<result>
<item1>1</item1>
<item2>content</item2>
<item3>NA</item3>
<item4>0</item1>
</result>
</trans>
结构是一个XML文件。我想得到这些数据。
我有这段代码:
<script language="javascript">
$(document).ready(function(){
var xml_url = $("input").val();
$(xml_url).find("result").each(function()
{
alert($(this).find("item3').").text());
});
});
</script>
它在firefox中工作正常,但在IE7 / 8中没有。
有什么建议吗? 非常感谢。
答案 0 :(得分:2)
永远不要依赖jQuery来解析XML。
见
使用适当的解析器来完成这项工作,然后使用jQuery查找所需的节点。您提供的示例适用于Firefox,但不适用于Chrome,Safari或IE。下面的函数将从字符串构造XML文档。
function parseXML(text) {
var doc;
if(window.DOMParser) {
var parser = new DOMParser();
doc = parser.parseFromString(text, "text/xml");
}
else if(window.ActiveXObject) {
doc = new ActiveXObject("Microsoft.XMLDOM");
doc.async = "false";
doc.loadXML(text);
}
else {
throw new Error("Cannot parse XML");
}
return doc;
}
用作:
// Parse and construct a Document object
var xml = parseXML(xml_url);
// Use jQuery on the object now
$(xml).find("result").each(function()
{
alert($(this).find("item3").text());
});