0

jqueryでxmlを解析しています。"alert()" で実行したときにシンボルを 1 行表示したい。

ここにxmlがあります:

<?xml version="1.0" encoding="utf-8"?>
<charlist>
    <list>
        <title>symbol1</title>
        <chr><![CDATA[√,∽, ∝, ∵, ∫, ∬, ∈, ∋, ⊆]]></chr>
    </list>
    <list>
        <title>symbol2</title>
        <chr><![CDATA[①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧]]></chr>
    </list>
    <list>
        <title>symbol3</title>
        <chr><![CDATA[㉠, ㉡, ㉢, ㉣, ㉤, ㉥, ㉦, ㉧]]></chr>
    </list>
    <list>
        <title>symbol4</title>
        <chr><![CDATA[㎕, ㎖, ㎗, ℓ, ㎘, ㏄, ㎣, ㎤]]></chr>
    </list>
</charlist>

これは私が作ったjqueryです。

$.ajax({
    type: "get",
    url: "XMLFile1.xml",
    dataType: "xml",
    success: function (xml) {
        $(xml).find('list').each(function () {
            var title = $(this).find("title").text();
            var chr = $(this).find("chr").text();
            alert(chr);
        });
    }
});

これを実行すると、3行が表示されます。「√,∽, ∝, ∵, ∫, ∬, ∈, ∋, ⊆」の次に、㉠, ㉡, ㉢, ㉣, ㉤, ㉥, ㉦, ㉧, そして、㎕, ㎖, ㎗, ℓ, ㎘, ㏄、㎣、㎤。jquery by arrayで選択した1行を見たいだけです。例えば。"alert(chr[1])" のように入力すると、2 行目は㉠、㉡、㉢、㉣、㉤、㉥、㉦、㉧のようになります。"alert" で表示されるのは 1 行だけです。この問題は誰でも解決できます。 ???

4

1 に答える 1

0

私があなたを正しく理解している場合、次の例は、xml から配列を構築する方法を理解するのに役立ちます。

 var xml = '<?xml version="1.0" encoding="utf-8"?>\
<charlist>\
    <list>\
        <title>symbol1</title>\
        <chr><![CDATA[√,∽, ∝, ∵, ∫, ∬, ∈, ∋, ⊆]]></chr>\
    </list>\
    <list>\
        <title>symbol2</title>\
        <chr><![CDATA[①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧]]></chr>\
    </list>\
    <list>\
        <title>symbol3</title>\
        <chr><![CDATA[㉠, ㉡, ㉢, ㉣, ㉤, ㉥, ㉦, ㉧]]></chr>\
    </list>\
    <list>\
        <title>symbol4</title>\
        <chr><![CDATA[㎕, ㎖, ㎗, ℓ, ㎘, ㏄, ㎣, ㎤]]></chr>\
    </list>\
</charlist>';

var parsed = $.parseXML(xml);

// declare the array
var chr = new Array();

// build the array by looping through the list elements
$(parsed).find('list').each(function(i,listElement){
    chr[i] = listElement.getElementsByTagName('chr')[0].textContent; 
});​

// will give an alert box with the string content of the chr element in the the second list element, which is actually "①, ②, ③, ④, ⑤, ⑥, ⑦, ⑧"
alert(chr[1]);
于 2012-09-17T01:00:20.737 に答える