我正在嘗試構建和XPath查詢以根據另一個元素的屬性選擇元素。我的XML是這樣的:基於XML其他屬性的XPath高級搜索
<datadoc>
<data>
<molecule coorddimension="3">
<properties>
<property name="Mol2_MolInfo_Name" type="stringvalue">
<val>ZINC01532215_1</val>
</property>
</properties>
<atom key="0" element="6" x="8.2965" y="42.3268" z="14.1097">
<properties>
<property name="AtomName" type="stringvalue">
<val>C1</val>
</property>
</properties>
</atom>
<atom key="9" element="6" x="7.3131" y="43.2537" z="13.9462">
<properties>
<property name="AtomName" type="stringvalue">
<val>C10</val>
</property>
</properties>
</atom>
<bond atomref1="0" atomref2="9" type="double">
<properties>
<property name="BondSybylType" type="stringvalue">
<val>ar</val>
</property>
</properties>
</bond>
</molecule>
</data>
</datadoc>
基本上我想要的是選擇哪個@key屬性由邦德@引用atomref1Ÿ@ atomref2債券的屬性了Atom。就是這樣,在Bond節點中,獲取該Bond引用的Atom元素。
我想什麼是這樣的:
../atom[@key = ./@atomref1]
我用..因爲當我做我在邦德節點查詢,但似乎並沒有工作。任何想法,如果可以用XPath完成?
謝謝。
如果可以,請發佈您的Java代碼或其摘錄。另外,發佈一個「更復雜」的XML提取,帶有多個'bond' –