2011-06-15 105 views
2

我有以下的Groovy代碼,但它不會工作:使用MarkupBuilder的使用Groovy ...問題創建XML參數

xml = new groovy.xml.MarkupBuilder() 
xmldata = xml.Plugins(nextid: '10') { 
    Target(name: 'default.auth') { 
    Port(protocol: 'https') { 
     8080 
    } 
    } 
} 
println xmldata 

我想這導致:

<Plugins nextid='10'> 
    <Target name='default.auth'> 
    <Port protocol='https'>8080</Port> 
    </Target> 
</Plugins> 

我其實什麼得到的是這樣的:

<Plugins nextid='10'> 
    <Target name='default.auth'> 
    <Port protocol='https' /> 
    </Target> 
</Plugins> 

任何人都可以提供一些見解嗎?

回答

1

您需要使用使其輸出8080值到XML,像這樣:

xml = new groovy.xml.MarkupBuilder() 
xmldata = xml.Plugins(nextid: '10') { 
    Target(name: 'default.auth') { 
    Port(protocol: 'https') { 
     mkp.yield 8080 
    } 
    } 
} 
+0

這工作。謝謝! – djangofan 2011-06-15 19:50:31