jquery解析从服务器返回的td中的XML

时间:2012-12-06 21:11:10

标签: jquery xml

进行ajax调用以从服务器返回一些数据。数据如下:

<table border=1>
    <tr>
        <td>Field Name</td>
        <td>Field Value</td>
    </tr>
    <tr>
        <td>SuccessFlag</td>
        <td>True</td>
    </tr>
    <tr>
        <td>ResponseMessage</td>
        <td><?xml version="1.0" encoding="utf-16"?>
            <License>
                <CustomerID>Bob</CustomerID>
                <License>XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX</License>
                <Log>Created by lt@email.com on December 6, 2012, 1:09 pm Cancelled by b@email.com on December 6, 2012, 1:09 pm</Log>
                <ExpirationDate>2012-12-06</ExpirationDate>
            </License>
        </td>
    </tr>
</table>

我能够输出如下数据:

//ajax call stuff
success: function(data) {
    var answer = $(data).find("td:eq(3)").text();
    var message = $(data).find("td:eq(5)").text();
if (answer==="True") {
        $('input[type="text"], input[type="password"]').val("");
        $('#resultGenerate').show().html('<ul><li>' + message + '</li></ul>');
    } else {
        $('.processing').hide();
        $('input[type="text"], input[type="password"]').val("");
        $('#resultGenerate').show().html('<ul><li>' + answer + '</li><li>' + message +    
        '</ul>');
    }
}

基本上我只是去表的第5个td并输出消息。我需要格式化回一个表或更好构造的输出。我假设我会创建一个函数来解析每个标记和值对,然后运行该函数?需要一些帮助,谢谢你!

1 个答案:

答案 0 :(得分:1)

一旦你有了你的文本,只需调用parseXML让jQuery把它变成你可以使用的对象:

var answer = $(data).find("td:eq(3)").text();
var message = $(data).find("td:eq(5)").html();
var xmlDoc = $.parseXML( message );
var $xml = $( xmlDoc );
// Now loop through the markup
$xml.each(function(){
    // Do something with the license
    alert($(this).text());
});