我有一些类似
的xml<entry>
<a>a</a>
...
<subelement>
<b>b</b>
....
</subelement>
</entry>
如果我做$(条目).find('whatIAmLookingFor')
当这些元素嵌套在子元素中时,它适用于某些元素,但不适用于其他元素。
我可以通过
来实现它$(entry).find('subelement').children()[indexofwhatiamlookingfor].textContent;
在Firebug中,但显然这是一个黑客......
为什么'找'会在子元素中找到一些元素而不是其他元素?我让另一位开发人员看看这个,以确保我的元素名称正确(没有胖手指问题)。
答案 0 :(得分:2)
jQuery不解析XML。您可以使用以下简单函数来执行此操作,并使用jQuery在文档上执行常规查询:
var parseXml;
if (window.DOMParser) {
parseXml = function(xmlStr) {
return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
};
} else if (typeof window.ActiveXObject != "undefined" &&
new window.ActiveXObject("Microsoft.XMLDOM")) {
parseXml = function(xmlStr) {
var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = "false";
xmlDoc.loadXML(xmlStr);
return xmlDoc;
};
} else {
parseXml = function() { return null; }
}
var xml = parseXml("<foo>Stuff</foo>");
if (xml) {
var $xmlDoc = $(xml);
window.alert($xmlDoc.find("foo")[0].nodeName);
}
答案 1 :(得分:0)
我没有亲自尝试过,但可能值得查看jParse XML parsing plugin。