我有一个简单的XML文件,现在我想向用户显示一个使用ID描述的特定产品。
我的XML文件如下所示
这是我的js
$.ajax({
type: "GET",
url: "xxxxx",
cache: false,
dataType: "xml",
success: function(xml) {
console.log(xml);
var $xml = $(xml);
item = $xml.find('item').has( "Id:contains('1215523')" );
console.log(item);
}
});
这是我得到的结果
我需要做什么才能得到我需要的东西?任何帮助或建议将不胜感激
您只需要用于item g\\:id:contains('yourid')
获取有关特定xml
节点的信息。
因此,您将看起来像:
var $xml = $(xml);
item = $xml.find('item g\\:id:contains("yourid")');
演示代码:
$(function() {
var xml = "<rss version='2.0' xmlns:g='http://base.google.com/ns/1.0'>";
xml += $("#xmldata").html();
xml += "</rss>";
//parse xml
var xmlDoc = $.parseXML(xml),
$xml = $(xmlDoc);
var result = "";
//get item-><g:id>->1
var pkSelector = "item g\\:id:contains('1')";
console.log($xml.find(pkSelector).text());
if ($xml.find(pkSelector).length > 0) {
result = "<table border='1'>";
result += "<tr><th>Id</th><th>Title</th><th>des</th></tr>";
result += "<tr>";
result += "<td>" + $xml.find(pkSelector).text() + "</td>";
result += "<td>" + $xml.find(pkSelector).next("g\\:title").text() + "</td>";
result += "<td>" + $xml.find(pkSelector).next("g\\:title").next("g\\:description").text() + "</td>";
result += "</tr>";
result += "</table>";
$("#result").html(result);
} else {
$("#result").html("No item found ");
}
});
#xmldata {
display: none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="xmldata">
<item>
<g:id>
1
</g:id>
<g:title>
test
</g:title>
<g:description>
abcdjcdk
</g:description>
</item>
<item>
<g:id>
2
</g:id>
<g:title>
test2
</g:title>
<g:description>
Sjdbvdvdvvvvvdsvsdv
</g:description>
</item>
</div>
<div id="result">
</div>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句