String query = null;
XPathExpression expr;
Object Result = null;
expr = xpath.compile("//table/column[contains(translate(text(),'ABCDEFGHIJKLMNAOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz'),'"+query+"')]//text()");
result = expr.evaluate(doc, XpathConstants.NODESET);
NodeList nodes = (NodeList) result;
for (int i = 0; i<nodes.getLength(); i++){
System.out.println(nodes.item(i).getParentNode().getNodeName() + "" + nodes.item(i).getNodeValue());
}
Привет, поэтому я хочу начать с того, что я новичок в xpath и довольно новичок в java. Я пытаюсь создать интерфейс запроса для этого большого XML-файла, и это то, к чему я пришел. Файл XML полон журналов и настроено несколько, как это ....Xpath содержит запрос на дочерний узел для возврата родительского узла
<database>
<table>
<column1>
<column2>
<column3>
.....
код хорошо работает на отходили колонки, которые соответствуют поисковому запросу, однако я хотел бы, чтобы оттянуть всю таблицу а затем распечатайте его. это даст мне более ценную информацию, в том числе дату штампа человека, который ввел его ect .... Я пробовал разные вещи, пытаясь получить родительский указатель из узлов (i), а затем поместив .getchildnodes в другой нодлист, но это не работа на всех. Я также попытался добавить/.. в конце xpath перед текстом(), чтобы узнать, вернет ли он родительский код, но это привело к тому, что я как-то дал мне корневой тег. Я думаю, что я близка, может быть, я не знаю, но если кто-то может помочь, это будет очень оценено, я уже давно застрял на этом.
структура XML-файл выглядит следующим образом: –
Вы действительно имеете в виду, что имена элементов - это 'column1',' column2', или они на самом деле называются 'column'? Кроме того, вы не указали какой-либо текст в вашем примере xml. Является ли текст непосредственно в каждом элементе 'column' или в потомке? – LarsH
ответ
Я думаю вы хотите использовать
..
вместо//
Например, чтобы получить все
table
сtd
значениемxxx
можно использоватьисточник
2015-08-04 15:22:20
я получил, что для работы, поставив его перед текстом //() Спасибо большое !! –
Смежные вопросы