Подтвердить что ты не робот

Как найти элемент по значению атрибута в GPath?

Что является альтернативой этому XPath //div[@id='foo'] в GPath? В общем, где я могу найти эту документацию?

4b9b3361

Ответ 2

Предыдущий плакат предоставил вам все, что вам нужно: если ваш документ был завален в xml, вы хотите

def foo = xml.path.to.div.find{[email protected] == 'foo'}

чтобы найти один результат. Или findAll, чтобы найти все результаты.

Ответ 3

что вам нужно:

def root = new XmlSlurper().parseText(<locOfXmlFileYouAreParsing>.toURL().text)

def foundNode = root.'**'.find{ [email protected] == "foo" }

его двойник *, который позволит вам найти его, не зная пути. По крайней мере, так я это делаю.

Ответ 4

Чтобы подражать выражению //div [@id = 'foo'], самое близкое, что вы можете сделать с помощью GPath:

def xml = new XmlParser().parseText(text)
xml.'**'.div.findAll { [email protected]=="foo" }

"**" в значительной степени совпадает с "//" в вашем XPath.

xml.'**'.div

даст все узлы типа div на любом уровне.

Поздняя фильтрация с помощью findAll() с данным замыканием вы получаете список узлов, как в случае XPath