2

次の 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 />");
  });

私の調査では、これは主にクロムの問題であり、jQuery の問題ではないようです。受け入れられた解決策はありますか?XML 解析に使用するより良い js ライブラリはありますか?

4

1 に答える 1

1

今日も同じ問題にぶつかりました。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
于 2012-11-16T14:54:19.180 に答える