0

我在 jquery 中解析 xml。我想在“alert()”运行时看到一行符号。

这是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);
        });
    }
});

运行后出现三行。"√,∽, ∝, ∵, ∫, ∬, ∈, ∋, ⊆" 然后, ㉠, ㉡, ㉢, ㉣, ㉤, ㉥, ㉦, ㉧ 然后, ㎕, ㎖, ㎗, ℓ, ㎘, ㏄、㎣、㎤。我只想查看我在 jquery 中按数组选择的一行。例如。如果我输入“alert(chr[1])”,第二行会出现 ㉠、㉡、㉢、㉣、㉤、㉥、㉦、㉧。“alert”只出现一行。任何人都可以帮助我解决这个问题???

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 回答