2014-12-22 1 views
0

У меня есть объект org.jdom.Document, который я бы обработал с использованием groovy XMLSlurper.Прочитайте org.jdom.Document объект с groovy

В настоящее время я использую следующий код:

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

Преобразование из документа в строку занимает некоторое время. Есть ли лучшая альтернатива, чтобы избежать конверсии, чтобы ускорить выполнение?

+0

все 'синтаксического анализа. *' Методы только взять какой-то файл, поток, строка http://groovy.codehaus.org/api/groovy/util/XmlSlurper.html – cfrick

ответ

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 документ в строковое представление для анализа с помощью Groovy XmlSlurper или XmlParser.

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