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]