Javascript 需要使用jquery提取XML节点,其中节点';s的兄弟姐妹等于某个值;现在使用xPath
以下是XML文件的一个片段:Javascript 需要使用jquery提取XML节点,其中节点';s的兄弟姐妹等于某个值;现在使用xPath,javascript,jquery,xml,xpath,Javascript,Jquery,Xml,Xpath,以下是XML文件的一个片段: <Catalog> <CDs> <CD> <Manuals> <Manual>123DHX<Manual> <Manual>5axDHX<Manual> <Manual>5DaDHX<Manual> <Manual>5dADHX<Manual&
<Catalog>
<CDs>
<CD>
<Manuals>
<Manual>123DHX<Manual>
<Manual>5axDHX<Manual>
<Manual>5DaDHX<Manual>
<Manual>5dADHX<Manual>
<Manual>10XDHX<Manual>
</Manuals>
<SomeOtherNode>text</SomeOtherNode>
<YetAnotherNode><text</YetAnotherNode>
<Blueprint>No.8</Blueprint>
</CD>
</CDs>
</Catalog>
我如何在jQuery中实现等效功能?
我尝试了以下操作,但它选择了Blueprint节点,而不是它的兄弟节点Manuals节点,这正是我想要的:
$(xmlobject).find("Blueprint:contains(" + $("#Blueprint_Select").val() + ")");
我找到了这个链接,但没有多大帮助,因为.has()是用于后代的,而我在jquery中找不到类似的语法用于升序或同级
提前感谢您的帮助。如果
元素始终是
元素的直接同级,则可以使用以下方法:
编辑:如果无法预测元素的顺序,请使用以下方法:
非常感谢。这将使事情变得容易得多;但是,我无法预测XML文件中同级标记的顺序。层次结构是一致的,但不能保证兄弟的顺序。
$(xmlobject).find("Blueprint:contains(" + $("#Blueprint_Select").val() + ")");
$(xmlobject).find("Blueprint:contains(" + $("#Blueprint_Select").val() + ")")
.prev("Manuals");
$(xmlobject).find("Blueprint:contains(" + $("#Blueprint_Select").val() + ")")
.siblings("Manuals");