使用find包含并过滤掉异常,使用jQuery遍历XML对象

时间:2014-01-13 18:27:30

标签: javascript jquery xml xmlnode jquery-filter

在我的编程逻辑中,我遵循了特定的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标记匹配。

任何帮助都将不胜感激。

谢谢。

0 个答案:

没有答案