使用jquery迭代xml
我是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
<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为完美解决方案。