別の要素の属性に従って要素を選択する XPath クエリを構築しようとしています。私のXMLは次のようになります:
<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 y @atomref2 結合の属性の結合によって参照される Atom を選択することです。それだけです。Bond ノードにいて、その Bond によって参照される Atom 要素を取得します。
私が試したのは次のようなものです:
../atom[@key = ./@atomref1]
.. を使用するのは、クエリを実行するときに Bond ノードにいるためですが、うまくいかないようです。XPathでそれを行うことができる場合、何かアイデアはありますか?
ありがとう。