我正在尝试解析以下XML:
<catalog>
<ns:book>
<author>Author</author>
</ns:book>
</catalog>
我进行了广泛的研究,发现了以下(过去的)解决方案,目前没有一个可以在带有jQuery 1.8的Chrome 24中工作
。 $(xml).find("ns\:book").each(function()
{
$("#output").append($(this).find("author").text() + "<br />");
});
也不
$(xml).find("book").each(function()
{
$("#output").append($(this).find("author").text() + "<br />");
});
也不
$(xml).find("[nodeName=ns:book]").each(function()
{
$("#output").append($(this).find("author").text() + "<br />");
});
在我的研究中,这似乎主要是一个chrome问题,而不是jQuery问题。 是否有可接受的解决方案? 有没有更好的js库用于XML解析?
我今天刚刚遇到了同样的问题。对于jQuery 1.8.3和Chrome 23,我注意到了2种情况:
//Data is a string representing XML
var data = "<catalog><ns:book><author>Author</author></ns:book></catalog>";
案例1
//Case 1
var xml = $.parseXML(data);
//xml is a XmlDocument
$(xml).find("book");
//$(xml) is a Document
//works directly, can't seem to be able to use namespace.
案例 2.
var xml = $(data);
//xml is an Object
$(xml).find('ns\:book')
//works just fine