我有一個org.w3c.dom.Document實例,我需要將其轉換爲XML字符串。我知道如何在Java中執行此操作(使用javax.xml.transform工具),但我想知道是否有更「常規」的方式來執行此操作?org.w3c.dom.Document to XML string using Groovy
我試過使用DomToGroovy類,它成功地創建了一個groovy腳本版本的DOM文檔。但我不知道我將如何使用它來生成一個XML字符串。我可能會吠叫錯誤的樹...
任何幫助將不勝感激!
我有一個org.w3c.dom.Document實例,我需要將其轉換爲XML字符串。我知道如何在Java中執行此操作(使用javax.xml.transform工具),但我想知道是否有更「常規」的方式來執行此操作?org.w3c.dom.Document to XML string using Groovy
我試過使用DomToGroovy類,它成功地創建了一個groovy腳本版本的DOM文檔。但我不知道我將如何使用它來生成一個XML字符串。我可能會吠叫錯誤的樹...
任何幫助將不勝感激!
但我想知道是否有更「常規」的方式來做到這一點?
有肯定的是:類groovy.xml.XmlUtil
我不知道是什麼的Groovy的版本中添加這個類的時候,但我想這是一個早期版本。
編輯:class groovy.xml.XmlUtil exists since version 1.6.0;在版本1.5.x中,它被命名爲groovy.xml.dom.DOMUtil。在任何一個版本中,這個班都不會做任何事情。如果你看its source,你會發現它只是一個圍繞java.xml.transform
的包裝。但是,我真的很感謝Groovy GDK提供了一種簡單的方法來執行這樣的通用操作(將xml寫入字符串),而Java JDK無法執行此操作。
例子:
import javax.xml.parsers.DocumentBuilderFactory
import groovy.xml.XmlUtil
def fileName = 'build.xml'
def builder = DocumentBuilderFactory.newInstance().newDocumentBuilder()
def inputStream = new FileInputStream(fileName)
def doc = builder.parse(inputStream)
println XmlUtil.serialize(doc.documentElement)
總是看Groovy API和滾動自己的解決方案(一節課我學到了艱辛的道路)
現在很時髦
> def doc = groovy.xml.DOMBuilder.newInstance().parseText("<foo count='42'><bar/><foo>")
> doc.documentElement as String
<foo count="42">
<bar/>
</foo>
我以前Groovy extensions to the JDK認爲它是在Groovy 1.6中添加的。它不在隨NetBeans 6.5一起提供的Groovy 1.5中 – Patrick 2009-07-02 16:00:31