1

次のjQueryで次のXMLを解析しようとしています。ページには何も表示されません。私はそれがファイルを取得していることを知っています。私はオンラインで見てきました.xmlをjqueryで解析する例はたくさんありますが、このフォーマットのようには見えませんでした.

XML:

<?xml version="1.0" encoding="utf-8"?>
<wcm:root xmlns:wcm="http://www.stellant.com/wcm-data/ns/8.0.0" version="8.0.0.0">

    <wcm:element name="title"></wcm:element>
    <wcm:element name="wide_image">&lt;img src=&#39;[!--$wcmUrl&amp;amp;x28;&#39;resource&amp;#39;,&amp;#39;CMS3_130980&amp;#39;&amp;amp;x29;--]&amp;#39;/&gt;</wcm:element>
    <wcm:element name="image">&lt;img src="[!--$wcmUrl('resource','CMS3_132821')--]"/&gt;</wcm:element>
    <wcm:element name="body">&lt;p&gt;
        Paragraph of text goes here.&lt;br /&gt;&lt;br /&gt;
        Paragraph of text goes here.&lt;br /&gt;&lt;br /&gt;
        Paragraph of text goes here.&lt;br /&gt;&lt;br /&gt;
        Paragraph of text goes here.&lt;br /&gt;&lt;br /&gt;
        Paragraph of text goes here.&lt;/p&gt;
</wcm:element>
</wcm:root>

HTML & jQuery:

<html>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<script type="text/javascript">

$(document).ready(function () {
    $.ajax({
        type: "GET",
        url: "link_to_my_file.xml",
        dataType: "xml",
        success: parseXml
    });
});

function parseXml(xml){
    $(xml).find("wcm\\3a root").each(function(){
    alert("Test");
        $("#output").append($(this).attr("title") + "<br />");
        $("#output").append($(this).attr("wide_image") + "<br />");
        $("#output").append($(this).attr("image") + "<br />");
        $("#output").append($(this).attr("body") + "<br />");
        });
     };

</script>

<div id="output"></div>

</html>
4

1 に答える 1

0

セレクターでエスケープする必要があります: http://mothereff.in/css-escapes#1wcm%3Aroot:

したがって、代わりに:

$(xml).find("wcm:root")

使用する:

$(xml).find("wcm\\3a root")

また、コード スニペットは無効な JavaScript です (関数宣言}の後にありません)。parseXmlエラーコンソールを確認してください。

于 2012-06-26T14:07:53.740 に答える