Javascript 使用jQuery使用find contains遍历XML对象并过滤出异常
在我的编程逻辑中,我遵循了一个特定的XML规范。现在,一个新的XML规范已经发布,我必须同时适应这两种规范。特别是,我使用一行jQuery代码来选择一组特定的节点Javascript 使用jQuery使用find contains遍历XML对象并过滤出异常,javascript,jquery,xml,xmlnode,jquery-filter,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).f
// 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规范(我只包含了相关的信息,我用省略号表示没有显示更多的标记)
唱片名称
10
1.
...
100
一种方法是将.parent()替换为.closest和相关选择器。另一种方法是添加到原始选择器中,让它查找轨迹的子元素,或者让它直接查找包含指定子节点的轨迹的元素。谢谢。我喜欢使用。最近的建议。对于第二个问题,我知道可以在.find中使用多个选择器,这类似于OR。但是如何使用.find执行AND?我将其更改为$(dispartsxml).find(“Track”).children(“XType:contains(1)”).parent()
。我的意思是像条件语句一样,比如if(a==b和c==d)。这可能是一个没有实际意义的问题,因为你找到了原始问题的答案。我记得多个选择器类似于OR条件语句。但我不记得是否可以在所有条件都必须为真的情况下执行.find操作(aka和)。谢谢你,没有空格和逗号。例如,div.foobar表示选择元素,其中nodeType==div,classNames包含foobar
<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>
<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>