我有一个xml,格式如下:
Xml:
<JobsArray>
<TechJobs>
<JobsAtSite>
<SiteJob>
<JobId>100</JobId>
<Name>1bc</Name>
</SiteJob>
<SiteJob>
<JobId>101</JobId>
<Name>abc</Name>
</SiteJob>
<SiteJob>
<JobId>102</JobId>
<Name>xbc</Name>
</SiteJob>
</JobsAtSite>
<TechJobSite>
<JobsAtSite>
<SiteJob>
<JobId>200</JobId>
<Name>1bc</Name>
</SiteJob>
</JobsAtSite>
</TechJobSite>
</JobsArray>
我希望同一节点的JobId不等于100的那些作业。因此输出应采用以下格式:
<TechJobs>
<JobsAtSite>
<SiteJob>
<JobId>101</JobId>
<Name>abc</Name>
</SiteJob>
<SiteJob>
<JobId>102</JobId>
<Name>xbc</Name>
</SiteJob>
</JobsAtSite>
<TechJobSite>
这是我的解决方法,但它没有给我预期的结果。
$(xml).find("SiteJob").filter(function () {
return $(this).find("JobId").text().toLowerCase() !== "100";
}).each(function () {
console.log($(this).parent());
});
对此有任何修复。感谢。
答案 0 :(得分:1)
你可以试试这个:
$(xml).find("SiteJob:contains('100')").filter(function () {
return true;
}).parent().find("SiteJob").filter(function () {
return $(this).find("JobId").text().toLowerCase() !== "100";
}).each(function () {
console.log($(this).find("JobId").text());
});