【发布时间】:2014-05-13 11:02:04
【问题描述】:
我有一个格式如下的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());
});
对此的任何修复。谢谢。
【问题讨论】:
-
节点名称是 JobId 但您使用 'jobID',打错了吗?
-
是的错字,应该是 JobId,我会在上面编辑。
-
不,它没有,它只是一个错字。代码没有给出预期的结果。
-
似乎工作正常:jsfiddle.net/rnG9M,我只得到 3 个结果...
-
你想要什么样的过滤?您现在只从列表中删除任何具有 JobId 100 的内容...
标签: javascript jquery xml xml-parsing