XmlSlurper - 列出xhtml文档的文本和常规节点

时间:2009-05-29 18:52:24

标签: xml parsing groovy

我正在使用Groovy的XmlSlurper来解析xhtml文档(或sudo xhthml one),而我正试图找到文档的文本节点但是无法弄清楚如何,这里是代码:

import groovy.util.*

xmlText = '''
<TEXTFORMAT INDENT="10" LEADING="-5">
  <P ALIGN="LEFT">
    <FONT FACE="Garamond Premr Pro" SIZE="20" COLOR="#001200" LETTERSPACING="0" KERNING="0">
      Less is more! this 
      <FONT COLOR="#FFFF00">should be all</FONT>
      the 
      <FONT COLOR="#00FF00"> words OR should some </FONT>
      OTHER WORDS will be there?
    </FONT>
  </P>
</TEXTFORMAT>
'''
records = new XmlSlurper().parseText(xmlText)
records.P.FONT.children().eachWithIndex {it, index -> println "${index} - ${it}"} 

打印以下输出:

0 - should be all 
1 -  words OR should some

但我希望它能打印文本节点内容,所以所需的输出是:

0 - Less is more! this
1 - should be all
2 - the 
3 - words OR should some
4 - OTHER WORDS will be there?

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

看起来XmlSlurper没有单独的方法来检索“混合内容”

这里有一个开放项目添加支持混合内容的方法 - &gt; Groovy JIRA