如何从jquery解析作为响应文本接收的xml数据

时间:2014-04-15 11:41:39

标签: javascript jquery web-services parsing xml-parsing

我有一个网络服务电话。以加密格式发送响应作为响应文本。当我解密响应文本时,我将获得XML数据。现在我想解析这个xml数据。任何人都可以提出一些想法

var respon = decrypted.toString(CryptoJS.enc.Utf8);

警报(respon);

var xml = jQuery(respon); 警报(xml.find( '行:第一'。)文本());

2 个答案:

答案 0 :(得分:0)

将您的回复xml放在$函数中。就像我们说的那样:

var str = '<NewDataSet> <Table> <line>1</line> <Trimestre>Octubre-Diciembre</Trimestre> <currency>EU?</currency> <growth>6.7</growth> <balanced>4.73</balanced> <moderate>2.98</moderate> </Table> <Table> <line>1</line> <Trimestre>Octubre-Diciembre</Trimestre> <currency>US$</currency> <growth>10.76</growth> <balanced>7.57</balanced> <moderate>5.44</moderate> </Table> </NewDataSet> ';

var xml = jQuery(str);
console.log(xml.find('line:first').text())

使用debugger或console.log进一步迭代$(xml)

答案 1 :(得分:0)

我不确定'解析'究竟意味着什么。但是如果'parse'意味着从某个xml中获取几个数据,下面的代码会有所帮助。

var data = [];

$.ajax({
    url: "some-url/sample.xml",
        async: true,
        cache: true,
        dataType:"xml",
        success: function(xml){
            $(xml).find('item').each(function(i){
                data.push({
                    'id': $(this).find("id").text(),
                    'title'    : $(this).find("title").text()
                });
            });
    },
    error: function(err){
        console.log(err);
    }
});    

sample.xml中

<item>
<id>1</id>
<title>Alasteir</title>
</item>
<item>
<id>2</id>
<title>Bob</title>
</item>
<item>
<id>3</id>
<title>John</title>
</item>
<item>
<id>4</id>
<title>Mary</title>
</item>
<item>
<id>5</id>
<title>Tom</title>
</item>