Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery解析从服务器返回的td中的XML_Jquery_Xml - Fatal编程技术网

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

jquery解析从服务器返回的td中的XML,jquery,xml,Jquery,Xml,进行ajax调用以从服务器返回一些数据。返回的数据如下所示: <table border=1> <tr> <td>Field Name</td> <td>Field Value</td> </tr> <tr> <td>SuccessFlag</td> <td>True</t

进行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>

字段名
字段值
成功旗
真的
响应消息
上下快速移动
XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX-XXXX
创建人lt@email.com2012年12月6日下午1:09被取消b@email.com2012年12月6日下午1:09
2012-12-06
我可以这样输出数据:

//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>');
    }
}
//ajax调用工具
成功:功能(数据){
var-answer=$(数据).find(“td:eq(3)”).text();
var message=$(data.find(“td:eq(5)”).text();
如果(答案为“真”){
$('input[type=“text”],input[type=“password”]).val(“”);
$(“#resultGenerate”).show().html(“
  • ”+message+”
    • ”); }否则{ $('.processing').hide(); $('input[type=“text”],input[type=“password”]).val(“”); $(“#resultGenerate”).show().html(“
      • ”+answer+”
      • “+message+ “
      ”); } }

基本上,我只需转到表的第5个td并输出消息。我需要重新格式化为一个表或更完善的结构输出。我假设我将创建一个函数来解析每个标记和值对,然后运行该函数?需要一些帮助,谢谢你一如既往

一旦有了文本,只需调用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());
});

获得文本后,只需调用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());
});

谢谢你的时间!因此,我没有将上述内容放在正确的位置,在我的ajax调用中,这会发生什么?我已经将您的代码添加到我的帖子中,以便您可以查看上下文。此建议将XML解析放在获取消息文本之后。我不确定您以后在代码中希望在何处或如何使用消息数据,但这应该会让您朝着正确的方向开始。我收到了错误“Uncaught SyntaxError:Unexpected identifier”嗯,我确定只使用.text()获取文本是个问题,因为这会去除所有标记。我编辑了上面的示例以使用.html()获取消息数据。你能试试看会发生什么吗?这一行是错误(未捕获的语法错误:意外标识符):if(答案==“True”){谢谢您的时间!所以我没有把上面的内容放在正确的位置,在我的ajax调用中会放在哪里?我已经将您的代码添加到我的帖子中,这样您就可以看到上下文。这个建议在获取消息文本后立即对XML进行解析。我不确定您希望在代码中稍后使用消息数据的位置或方式,但这应该会让您感到满意从正确的方向开始。我得到这个错误“Uncaught SyntaxError:Unexpected identifier”嗯,我确信用.text()只获取文本是个问题,因为这会去除所有标记。我编辑了上面的示例以使用.html()获取消息数据。你能试试看会发生什么吗?这一行就是错误(未捕获的SyntaxError:意外标识符):如果(答案=“True”){