使用JQuery遍历XML

时间:2012-03-07 11:09:57

标签: jquery xml traversal nodevalue

这是xml示例

的示例部分
<PivotSet>
    <item>
        <column name = "M">1</column>
        <column name = "F">1640</column>
    </item>
    <item>
        <column name = "M">2</column>
        <column name = "F">5960</column>
    </item>
</PivotSet>
<PivotSet>
    <item>
        <column name = "M">1</column>
        <column name = "F">1700</column>
    </item>
    <item>
        <column name = "M">2</column>
        <column name = "F">7000</column>
    </item>
</PivotSet>

应如下所示

1      
1640 1700

2
5960 7000

请告诉我如何使用jquery来帮助我

1 个答案:

答案 0 :(得分:1)

与遍历XHTML的方式完全相同(因为它是XML)。 这是一个例子:

var xml = '<PivotSet>[...]</PivotSet>';

var $xml = $(xml);
$xml.find('column').each(function(){
  alert($(this).text());
});​

http://jsfiddle.net/uBv2L/


编辑:您的具体案例:

var $xml = $(xml);
var out = '1\r\n';
$xml.find('column[name="M"]').filter(function(){
    return $(this).text()=='1';
}).each(function(){
  out+=$(this).next().text()+' ';
});
out += '\r\n2\r\n';
$xml.find('column[name="M"]').filter(function(){
    return $(this).text()=='2';
}).each(function(){
  out+=$(this).next().text()+' ';
});

alert(out);

http://jsfiddle.net/uBv2L/1/