javascript - 如何使用ajax和jquery从带有id的xm文件中获取数据
问题描述
我有一个简单的 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>
推荐阅读
- ios - 代码点火器 - 无法连接:0 发送 ios 通知时
- mysql - 无法在 phpmyadmin - mysql 中添加外键约束
- regex - Regexp_like 与在线正则表达式验证器 - 不同的结果
- swift - 在 indexPath.row 的数组中快速打印元素
- c# - 如何在 Unity 中使用 C# 生成随机浮点数(Unity 拒绝大多数其他建议的答案)?
- react-native - 更新坐标数组时不呈现多条折线
- django - Django 忽略模型字段
- python - Python 数组和矩阵
- xcode - 在 Xcode 中错误地删除了整个项目的引用
- android - 如何从 sqlite 检索数据到 ListView