XPath выражение, две строки в одном узле

Я скачал HTML-форму, очистить ее с помощью htmlCleaner. Первоначально это выглядело так (сейчас оно хорошо сформировано, но я не знаю, как это показать, надеюсь, этого достаточно):

...
<form action="complete" method="POST" enctype="multipart/form-data">
Please fill in your username: 
<input type="text" name="employee" />
</BR>
Reason:
<BR/>
<textarea cols="50" rows="5" name="reason"></textarea>
</BR>
<input type="submit" value="Complete">
</form>....

Есть ли выражение XPath для извлечения "пожалуйста, введите ваше имя пользователя" и "причину", но в двух отдельных строках? Кроме того, htmlCleaner не поддерживает все выражения, здесь приведен список возможных выражений -> list <-.

Спасибо

2 ответа

Вы не можете этого сделать, потому что два фрагмента текста, которые вы хотите извлечь, являются одновременно и ТОЛЬКО дочерними элементами FORM. Если бы каждый из них был обернут в SPAN или DIV, вы могли бы получить к ним отдельно.

Вы можете получить их по отдельности, используя "ребенок" и положение

Что вам нужно, это просто:

//input[@name="employee"]/@value
//input[@name="reason"]/@value

Или (если вам нужен текст в <form> элемент):

//form/text()[1]
//form/text()[2]
Другие вопросы по тегам