如何在Chrome24和jQuery 1.8.2中解析名称空间XML?

如何在Chrome24和jQuery 1.8.2中解析名称空间XML?,jquery,xml,parsing,google-chrome,Jquery,Xml,Parsing,Google Chrome,我正在尝试解析以下XML: <catalog> <ns:book> <author>Author</author> </ns:book> </catalog> 作者 我进行了广泛的研究,发现了以下(过去的)解决方案,目前没有一个能在Chrome24和jQuery1.8中使用 $(xml).find("ns\\:book").each(function() { $("#outpu

我正在尝试解析以下XML:

<catalog>
   <ns:book>
       <author>Author</author>
   </ns:book>
</catalog>

作者
我进行了广泛的研究,发现了以下(过去的)解决方案,目前没有一个能在Chrome24和jQuery1.8中使用

  $(xml).find("ns\\:book").each(function()
  {
    $("#output").append($(this).find("author").text() + "<br />");
  });
$(xml).find(“ns\\:book”).each(function()
{
$(“#输出”).append($(this.find)(“author”).text()+“
”); });
也不是

$(xml).find(“book”).each(函数()
{
$(“#输出”).append($(this.find)(“author”).text()+“
”); });
也不是

$(xml).find(“[nodeName=ns:book]”)。每个(函数()
{
$(“#输出”).append($(this.find)(“author”).text()+“
”); });

在我的研究中,这似乎主要是一个chrome问题,而不是jQuery问题。有一个公认的解决方案吗?有更好的js库用于XML解析吗?

我今天也遇到了同样的问题。 使用jQuery 1.8.3和Chrome 23,我注意到了两种情况:

//Data is a string representing XML
var data = "<catalog><ns:book><author>Author</author></ns:book></catalog>";
案例2

var xml = $(data);
//xml is an Object
$(xml).find('ns\\:book')
//works just fine

第一种方法适用于铬22。。。在你的版本中试试这个
//Data is a string representing XML
var data = "<catalog><ns:book><author>Author</author></ns:book></catalog>";
//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.
var xml = $(data);
//xml is an Object
$(xml).find('ns\\:book')
//works just fine