Javascript 使用jQuery搜索XML文件中的元素
我有一个如下结构的XML文件:Javascript 使用jQuery搜索XML文件中的元素,javascript,jquery,xml,Javascript,Jquery,Xml,我有一个如下结构的XML文件: <movies> <movie> <title>A title</title> <year>2016</year> <boxoffice>18 million</boxoffice> </movie> <movie> <title>Second title
<movies>
<movie>
<title>A title</title>
<year>2016</year>
<boxoffice>18 million</boxoffice>
</movie>
<movie>
<title>Second title</title>
<year>2010</year>
<boxoffice>10 million</boxoffice>
</movie>
<movies>
并使用以下方法进行测试:
function find(year){
var x = getx();
$(x).find("year").each(function() {
if (Number($(this).text()) > Number(year) {
$(document.getElementById("results")).append("<tr><td>" + $(this).text() + "</td></tr>");
}
});
}
此返回创建一个包含2016的表行。我如何修改它来搜索一个元素,一旦找到就返回它所属集合中的所有元素?首先,我想得到一个包含标题、年份和boxoffice的表格行:使用ajax调用作为同步是一个问题,我建议您使用 第二:为了将xml转换为jQuery对象,可以使用。转换后,您可以使用和来选择所需的元素并将它们附加到表中 在jquery中: 而不是:
$(document.getElementById("results"))
为了获得可以使用的同级元素:and或可以使用and
片段:
var xml='1〕\
\
头衔\
2016\
1800万\
\
\
第二名\
2010\
1000万\
\
';
var xmlDoc=$.parseXML;
var jqXml=$xmlDoc.find'year'。filteridx,ele=>{return+ele.textContent>2015;};
jqXml.eachfunctionidx,ele{
$'results'.append+ele.previousSibling.textContent+
+ele.textContent++
ele.nextSibling.textContent+;
}
运输署{
边框:1px实心;
}
谢谢你在这方面的意见。然而,结果返回2016,这也是我用代码实现的。我想要的是:一个标题201618million@PaulB抱歉耽搁了。答案已更新。让我知道。是的,看起来很有效。虽然我修改了一些代码以更好地适应我的项目,但你确实让我走上了正确的方向。谢谢
$('#results')
$(document.getElementById("results"))