j'ai un xml qui contient deux groupes de valeurs apparentées:XPath. Sélectionner des noeuds en fonction d'un autre noeud lié
<Rows>
<!-- first group -->
<Row>
<Sequence>100</Sequence>
<Value>+</Value>
</Row>
<Row>
<Sequence>105</Sequence>
<Value>+</Value>
</Row>
<Row>
<Sequence>110</Sequence>
<Value>-</Value>
</Row>
<!-- second group -->
<Row>
<Sequence>150</Sequence>
<Value>20</Value>
</Row>
<Row>
<Sequence>155</Sequence>
<Value>15</Value>
</Row>
<Row>
<Sequence>160</Sequence>
<Value>90</Value>
</Row>
</Rows>
Chaque élément du premier groupe lié à un élément du deuxième groupe: séquence -> Séquence + Je dois obtenir un ensemble de noeuds du deuxième groupe dont les noeuds connexes du premier groupe contiennent le signe + (noeuds avec les séquences 150 et 155).
Ces nœuds sont nécessaires pour le tri et l'énumération ultérieurs.
/Rows/Row[contains(/Rows/Row[Sequence = (./Sequence - 50)]/Value, '+')]
J'ai essayé le XPath ci-dessus, mais a échoué en référence à ./ est le contexte actuel (dans les secondes entre parenthèses), mais je dois accéder au parent un (dans les premiers supports).
Quelqu'un sait-il une solution pour cela?
Cordialement, Aikin
post-scriptum substring (./ Sequence - 50, 1, 3) est utilisé pour obtenir
qu'avez-vous besoin de sélectionner? –
J'ai besoin d'un ensemble de nœuds du 2ème groupe dont les nœuds associés du 1er groupe contiennent le signe + (nœuds avec les séquences 150 et 155). – Aikin