假设我想从这样的 xml 字符串中解析电话号码:
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()
它不打印电话号码。
如果我像这样将“div”元素更改为“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()
然后它能够解析和打印电话号码。
到底他妈发生了什么?
顺便说一句,我正在使用 groovy 1.7.5 和 tagoup 1.2