У меня есть 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());
});
Любые исправления для этого. Благодарю.
Вы можете попробовать следующее:
$(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());
});