代碼,我是新來的時髦 - 我希望這是解決一個簡單的事情。我讀XML文檔中,然後我能夠訪問這樣的數據:使用String作爲使用Groovy XML解析器
def root = new XmlParser().parseText(xmlString)
println root.foo.bar.text()
我想要做的,就是從一個文件中加載的路徑「foo.bar」部分或數據的基礎上,這樣我可以做這樣的事情:
def paths = ["foo.bar","tashiStation.powerConverter"] // defined for this example
paths.each {
path ->
println path + "\t" + root.path.text()
}
顯然是寫不工作的代碼......我想,也許這會工作:
paths.each {
path ->
println path + "\t" + root."${path}".text()
}
...但它沒有。我根據我的Groovy的PG的153對,其中動態方法可以以類似的方式來創建DSL初步的解決方案。
的思考?理想的解決方案不會添加大量代碼,並且不會添加任何其他庫依賴項。我總能回落到這樣的東西在Java中使用JDOM,但我希望一個優雅時髦的解決方案。
[使用\ [\]]在Groovy中訪問對象屬性的可能的副本(http://stackoverflow.com/questions/4077168/access-object-properties-in-groovy-using) – 2012-07-16 15:11:34
@tim_yates:看起來不一樣的東西,我在所有...並在每個迭代上插入到GroovyShell通話將引入不必要的開銷。 – 2012-07-16 15:18:08
我看不到答案如何插入到GroovyShell – 2012-07-16 15:19:15