Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.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迭代xml_Jquery - Fatal编程技术网

使用jquery迭代xml

使用jquery迭代xml,jquery,Jquery,我是Jquery新手,有以下xml响应: <root> <case> <ckey>100</ckey> <case-description>something</case-description> <issue> <ikey>issue-one</ikey> <ikey-description>iss

我是Jquery新手,有以下xml响应:

<root>
   <case>
      <ckey>100</ckey>
      <case-description>something</case-description>
      <issue>
         <ikey>issue-one</ikey>
         <ikey-description>issue-two</ikey-description>
      </issue>
   </case>
   <case>
      <ckey>101</ckey>
      <case-description>something</case-description>
      <issue>
         <ikey>issue-one</ikey>
         <ikey-description>issue-two</ikey-description>
      </issue>
   </case>
</root>

100
某物
第一期
第二期
101
某物
第一期
第二期
上述xml的摘要是,每个
下都有
节点。我必须迭代每一个
,然后在它下面发布
,并将它们添加到一个数组中,该数组可用于填充案例(
)和 在jquery数据表中它下面的问题(

我尝试了以下代码,但没有得到所需的格式。 有人能帮我吗

 $(".dataTables_scrollBody").find(".details-control").on("click", function() {

    var $CaseLkupTables = $(soapGetResultslist.responseXml).find("case");

    $CaseLkupTables.each(function(index, event) {
        var $event = $(event),
            addData = [];

        $event.children().each(function(i, child) {


            addData.push($(child).text());

            var issueNodes = XmlUtil.selectNodes(child, "//issue");
            for (var i = 0; i < issueNodes.length; i++) {

                var idvalue = XmlUtil.xmlToString(XmlUtil.selectSingleNode(issueNodes[i], "//ISSUEID"))
            }
        });

        table.data(addData);
    });

    var xyz = table.row($(this).parents('tr')).data();
    alert("vvv " + xyz[0]);


    var tr = $(this).closest('tr');
    var row = table.row(tr);
    alert("row data " + row.data()[0]);


    $.each(issueNodes, function(index, value) {
        console.log(value)

    });



    console.log(row.data());
    $tds = $row.find("td:nth-child(2)");


    if (row.child.isShown()) {
        // This row is already open - close it
        row.child.hide();
        tr.removeClass('shown');
    } else {
        // Open this row
        var td = $(this).parent('td');
        //alert("Child data "+  table.row( td ).data());
        //  row.child(format(issueNodes) ).show();
        //  expandhideContact( string );

        row.child(issueNodes).show();
        tr.addClass('shown');
    }
});
$(“.dataTables\u scrollBody”).find(“.details控件”).on(“单击”,函数()){
var$CaseLkupTables=$(soapGetResultslist.responseXml.find(“case”);
$CaseLkupTables.每个(函数(索引、事件){
变量$event=$(事件),
addData=[];
$event.children(){
addData.push($(child.text());
var issueNodes=XmlUtil.selectNodes(子节点“//issue”);
对于(变量i=0;i

使用上述代码,我只能获取案例节点信息,但无法获取每个案例节点下的问题节点信息。

尝试此实现

 var x ="<root><case><ckey>100</ckey><case-description>something</case-description><issue><ikey>issue-one</ikey><ikey-description>issue-two</ikey-description></issue></case><case><ckey>101</ckey><case-description>something</case-description><issue><ikey>issue-one</ikey><ikey-description>issue-two</ikey-description></issue></case></root>";

    $($.parseXML(x)).find('case').each(function(index){
                var ckey = $(this).find('ckey').text();
                var description = $(this).find('case-description').text();
                var issueikey = $(this).find('issue').find('ikey').text(); var issueikeyDescription = $(this).find('issue').find('ikey-description').text();
                console.log(ckey,description,issueikey,issueikeyDescription);
            });
var x=“100somethingissue-oneissue-two101somethingissue-oneissue-two”;
$($.parseXML(x)).find('case').each(函数(索引){
var ckey=$(this.find('ckey').text();
var description=$(this.find('case-description').text();
var issueikey=$(this.find('issue').find('ikey').text();var issueikeyDescription=$(this.find('issue').find('ikey-description').text();
console.log(ckey,说明,IssueKey,IssueKeyDescription);
});

尝试此实现

 var x ="<root><case><ckey>100</ckey><case-description>something</case-description><issue><ikey>issue-one</ikey><ikey-description>issue-two</ikey-description></issue></case><case><ckey>101</ckey><case-description>something</case-description><issue><ikey>issue-one</ikey><ikey-description>issue-two</ikey-description></issue></case></root>";

    $($.parseXML(x)).find('case').each(function(index){
                var ckey = $(this).find('ckey').text();
                var description = $(this).find('case-description').text();
                var issueikey = $(this).find('issue').find('ikey').text(); var issueikeyDescription = $(this).find('issue').find('ikey-description').text();
                console.log(ckey,description,issueikey,issueikeyDescription);
            });
var x=“100somethingissue-oneissue-two101somethingissue-oneissue-two”;
$($.parseXML(x)).find('case').each(函数(索引){
var ckey=$(this.find('ckey').text();
var description=$(this.find('case-description').text();
var issueikey=$(this.find('issue').find('ikey').text();var issueikeyDescription=$(this.find('issue').find('ikey-description').text();
console.log(ckey,说明,IssueKey,IssueKeyDescription);
});

XML不是HTML;您应该通过函数
$.parseXML()
来处理它。有关更多详细信息,请参阅。@Chayim Friedman,我添加了原始代码,而不是真实的代码,以避免混淆,因为我们的代码包含更多自定义代码。但您正在使用该函数?@Chayim Friedman,是的。你说得对。任何你可以帮助的原始代码?@Ashok.N你能给我们显示完整的代码吗?XML不是HTML;您应该通过函数
$.parseXML()
来处理它。有关更多详细信息,请参阅。@Chayim Friedman,我添加了原始代码,而不是真实的代码,以避免混淆,因为我们的代码包含更多自定义代码。但您正在使用该函数?@Chayim Friedman,是的。你说得对。任何你可以帮助的原始代码?@Ashok.N你能给我们显示完整的代码吗?太棒了!!完美的这就是我要找的+1是完美的解决方案。太棒了!!完美的这就是我要找的+1为完美解决方案。