Скажем, я хочу, чтобы разобрать номер телефона из XML-строки, как это:Странное поведение с TagSoup и XmlSlurper Groovy,
str = """ <root>
<address>123 New York, NY 10019
<div class="phone"> (212) 212-0001</div>
</address>
</root>
"""
parser = new XmlSlurper(new org.ccil.cowan.tagsoup.Parser()).parseText (str)
println parser.address.div.text()
Это не печатает номер телефона.
Если изменить элемент «Див», чтобы «Foo», как этот
str = """ <root>
<address>123 New York, NY 10019
<foo class="phone"> (212) 212-0001</foo>
</address>
</root>
"""
parser = new XmlSlurper(new org.ccil.cowan.tagsoup.Parser()).parseText (str)
println parser.address.foo.text()
Тогда его умелым разобрать и напечатать номер телефона.
Что, черт возьми, происходит?
Btw Я использую заводную 1.7.5 и TagSoup 1,2
ваше объяснение кажется правдоподобным, но ваш код предложение не работает для меня в заводной консоли. –
Да, извините, не проверяя его с точной конфигурацией. Похоже, он отлично работает при использовании стандартного парсера JDK, поэтому проблема может быть в парсере TagSoup. –