Некоторые IDE, специализирующиеся на XML, сделают это за вас.
Вот самые известные
- Кислородные
- Stylus Studio
- XMLSpy
Например, в oXygen вы можете щелкнуть правой кнопкой мыши на элементе элемента XML-документа, и в контекстном меню появится опция «Копировать Xpath».
Существует также ряд дополнений Firefox (например, XPather , которые с радостью выполнят эту работу за вас. Для Xpather вы просто нажимаете на часть веб-страницы и выбираете в контекстном меню. меню «показать в XPather» и все готово.
Но, как указал Дэн в своем ответе, выражение XPath будет иметь ограниченное применение. Например, он не будет содержать предикатов. Скорее это будет выглядеть так.
/root/nodeB[2]/subnodeX[2]
Для документов типа
<root>
<nodeA>stuff</nodeA>
<nodeB>more stuff</nodeB>
<nodeB cond="thisOne">
<subnodeX>useless stuff</subnodeX>
<subnodeX id="MyCondition">THE STUFF YOU WANT</subnodeX>
<subnodeX>more useless stuff</subnodeX>
</nodeB>
</root>
Инструменты, которые я перечислил, будут не генерировать
/root/nodeB[@cond='thisOne']/subnodeX[@id='MyCondition']
Например, для html-страницы вы получите довольно бесполезное выражение:
/html/body/div[6]/p[3]
И этого следовало ожидать. Если бы им пришлось генерировать предикаты, как бы они узнали, какое условие имеет отношение? Есть миллионы возможностей.