使用groovy读取org.jdom.Document对象

时间:2014-12-22 17:35:41

标签: xml groovy jdom

我有一个org.jdom.Document对象,我想使用groovy XMLSlurper进行处理。

我目前正在使用以下代码:

// doc is my org.jdom.Document object
new XMLSlurper().parseText(new XMLOutputter().outputString(doc));

从Document到String的转换需要一些时间。有没有更好的替代方法来避免转换以加速执行?

1 个答案:

答案 0 :(得分:0)

您需要将JDOM转换为Groovy XML API支持的中间形式。从JDOM转换为字符串,然后可以使用XmlSlurper解析。

// doc is org.jdom.Document object
def xo = new org.jdom2.output.XMLOutputter()
String xmlContent = xo.outputString(doc)

现在,JDOM doc是一个字符串表示形式,用于使用Groovy XmlSlurper或XmlParser进行解析。

def rootNode = new XmlSlurper().parseText(xmlContent)
println groovy.xml.XmlUtil.serialize(rootNode)