J'ai le fichier XML structuré suivant:expression XPath pour sélectionner des noeuds entre une séquence définie de précédent et les noeuds succédant
<w:document>
<w:body>
<w:p>
<w:r>
<w:t/>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t/>
</w:r>
</w:p>
<w:p>
<w:r>
<w:instrText/>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t/>
</w:r>
</w:p>
<w:p>
<w:r>
<w:instrText/>
</w:r>
</w:p>
<w:p>
<w:r>
<w:t/>
</w:r>
</w:p>
</w:body>
</w:document>
et j'essaie désespérément de trouver un XPath expression pour sélectionner tous <w:t>
nœuds situés entre deux nœuds <w:instrText>
. <w:t>
nœuds apparaissent essentiellement librement tout autour du document XML, mais je suis seulement intéressé par ceux entre deux <w:instrText>
nœuds.
Toute aide est grandement appréciée.
Document Vous échantillon est pas valide. Il n'y a pas de balises fermantes pour les éléments 't' et' x'. Ou devrait-il s'agir de balises autonomes comme celles-ci: ' '? Veuillez corriger afin que nous puissions donner des réponses significatives. –
Excusez-moi, laissez-moi éditer ma question et fournir la structure réelle. – naacal
Comme c'est OpenXml, ne devriez-vous pas regarder le '' w: fldChar w: fldCharType = "commencer" /> ',' 'et' 'éléments? Je suppose que vous voulez extraire le texte du champ? C'est assez complexe à faire dans XPath, car les champs peuvent non seulement être divisés sur plusieurs runs/paragraphes/etc, mais peuvent aussi être imbriqués (l'exemple canonique serait des champs de lien hypertexte dans un champ TOC). –