Hallo XPath-Anfänger,
ich habe ein XML-Dokument mit der folgenden Struktur:
<AAA>
<BBB id="0"/>
Hallo
<BBB id="5"/>
Welt
<BBB id="9"/>
</AAA>
Hat diese Struktur einen besonderen Grund? Die Textknoten könnten IMHO sinnvoller innerhalb der BBB-Elemente platziert werden.
Nun möchte ich einen Textknoten zwischen zwei bestimmten BBB-Knoten auslesen, deren id gegeben ist. Also zum Beispiel den Text zwischen dem BBB-Knoten mit der id 5 und dem mit der id 9.
Machbar ist das durchaus, z. B. so:
AAA//text()[preceding-sibling::BBB[@id='5'] and following-sibling::BBB[@id='9']]
Zur Vermeidung der Umbrüche ggf. noch normalize-space(...) anwenden.
Grüße,
Thomas