Я пытаюсь проанализировать хорошо сформированный документ xhtml.
У меня возникают проблемы во время итераций узлов.
Мои Xhtml имеет структуру, какJava и xpath - проблема синтаксического анализа xHtml
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>...</head>
<body>
...
<form>
...
<div class="AB"> (1 or 2 times)
...
<div class="CD">
...
<table>
<tbody>
<tr> (1 to N times)
<td> XXX </td>
<td> YYY </td> ...
информация мне нужна содержится в колонках (TD).
Я хочу построить N объектов. Поэтому каждая строка (tr) содержит в своих столбцах информацию, которая мне нужна для создания объекта.
У меня 1 или 2 div класса = "AB". Поэтому в основном я буду иметь 1 или 2 объекта AB, содержащий список других объектов, созданные из каждой строки в таблице
Так я сначала извлечь нодлист из этого AB DIVS
NodeList ABlist= (NodeList) xpath.evaluate("//div[@class='AB']", document, XPathConstants.NODESET)
Теперь я пытаюсь чтобы получить NodeList всех трех элементов первого div AB.
NodeList trList = (NodeList) xpath.evaluate("/div/table//tr", ABlist.item(0), XPathConstants.NODESET);
В этом случае trList пуст. Вы знаете, что не так с моим кодом?
Thank you
Ты прав Павел! Я думал, что (как второй параметр) я передавал «контекст» методу оценки(). Я думаю, что я пробовал без/до публикации здесь, но, возможно, я изменил еще кое-что еще, и это не сработало в то время. В любом случае, теперь он работает. Большое спасибо за вашу помощь! – mickthompson
Вы передаете здесь контекст. Проблема заключается в том, что, используя ведущий '/' в запросе, вы говорите ему, чтобы он запускал путь не из контекстного узла, а из _root_ документа, к которому принадлежит узел. –