在我的编程逻辑中,我遵循了特定的XML规范。现在,新的XML规范已经下传,我必须同时适应这两个规范。特别是,我使用一行jQuery代码来选择一组特定的节点。
// i is a number. XType is some made-up construct to illustrate the problem.
// Here, I am selecting all Track tags with the above condition.
trackMatches = $(xmlObj).find("XType:contains(" + i + ")").parent();
旧XML规范(我只包含相关信息,我使用省略号表示还有更多标签未显示)。
<Record>
<Title>Record Title</Title>
<TotalTracks>10</TotalTracks>
<Tracks>
<Track>
<XType>1</XType>
...
<Coordinates>
<Coordinate>
<X>100</X>
<Y><50</Y>
</Coordinate>
</Coordinates>
</Track>
...
</Tracks>
</Record>
新XML规范
<Record>
<Title>Record Title</Title>
<TotalTracks>10</TotalTracks>
<Tracks>
<Track>
<XType>1</XType>
...
<Coordinates>
<Coordinate>
<XType>1</XType>
<X>100</X>
<Y><50</Y>
</Coordinate>
</Coordinates>
</Track>
...
</Tracks>
</Record>
由于这种改变的XML规范,上面的代码行将选择所有Track和Coordinate标记,因为XType标记现在是两者的子代,而它只是原始规范中Track标记的子代。
我想继续选择Track标签。是否可以执行jQuery查找并过滤掉异常?在这种情况下,例外情况是它与Coordinate标记匹配并将其过滤掉,只留下Track标记匹配。
任何帮助都将不胜感激。
谢谢。