Как получить узел с использованием Xpath, который иногда имеет нерелевантные узлы между узлами цели.Как сформировать Xpath с нерелевантными узлами между двумя целевыми узлами
У меня есть XML-файл, как правило, в форме выглядит следующим образом:
<body>
<target>
<goal>Text I want to obtain</goal>
</target>
<target2>
<goal>Second Target I want to obtain</goal>
</target2>
<body>
И мне нужно, чтобы бросить цели цели и задачи target2 в в отдельной строке. Итак, я получил «Текст, который хочу получить», используя Xpath «// body/target/goal», и получил «Вторую цель, которую я хочу получить», используя Xpath «// body/target2/goal».
Очень простой.
Однако позже я обнаружил, что между мишенью и цели (или цель 2 и цели) не может быть отдельные узлы (не известно) следующим образом:
<body>
<target>
<annoying>
<goal>Text I want to obtain</goal>
</annoying>
</target>
<target2>
<noidea>
<goal>Second Target I want to obtain</goal>
</noidea>
</target2>
<body>
я до сих пор различать две мишени, так Я не могу просто накопить цель с «// целью». Какого рода 2 Xpaths wold мне нужно получить каждый текст, который мне нужно получить?
Большое спасибо заранее
Ах там вы идете. Я получил только эту строку, которая имеет что-то среднее между целью и целью. Однако. Я могу получить исходный результат с помощью моего исходного xpath и | Это. Создание моего результата Xpath как «// body/target/goal | // body/target/*/goal». Есть ли более короткий путь, как регулярное выражение? что-то вроде «// body/target/[* /] * goal»? –