如何添加节点到groovy MarkupBuilder? [英] How to add a node to groovy MarkupBuilder?
本文介绍了如何添加节点到groovy MarkupBuilder?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我使用MarkupBuilder生成xml,需要知道如何将NodeChild添加到MarkupBuilder对象中
我的代码
pre $ def cxml = new File(E: ).parseText(fxml.text)
或
def xml = new XmlSlurper(false,false).parse(E:\\Projects\\ dom.xml)
def abc = new groovy.xml.MarkupBuilder()
abc.product(name:Dota){
language(Java)
语言(Groovy)
语言(JavaScript)
domainsinfa {delegate.current.appendNode(xmltext)}
}
您可以使用StreamingMarkupBuilder将任意节点插入到xml中:
$ b $ b
import groovy.xml。*
def xmltext ='''< node>< name short =yes> tim< / name>< fun> maybe< / fun>< / node>'''
def xml = new XmlSlurper false)false .parseText(xmltext)
def newxml = new StreamingMarkupBuilder()。bind {
product(name:Dota){
language(Java)
语言(Groovy)
语言(JavaScript)
mkp.yield xml
}
}
println XmlUtil.serialize (newxml)
I am using MarkupBuilder to generate xml, need to know how can I add NodeChild to a MarkupBuilder Object
my code
def fxml=new File("E:\\Projects\\dom.xml")
def xmltext=new XmlSlurper(false,false).parseText(fxml.text)
or
def xml=new XmlSlurper(false,false).parse("E:\\Projects\\dom.xml")
def abc = new groovy.xml.MarkupBuilder()
abc.product(name:"Dota"){
language("Java")
language("Groovy")
language("JavaScript")
domainsinfa{delegate.current.appendNode( xmltext)}
}
解决方案
You can use StreamingMarkupBuilder to insert arbitrary nodes to the xml:
import groovy.xml.*
def xmltext = '''<node><name short="yes">tim</name><fun>maybe</fun></node>'''
def xml = new XmlSlurper( false, false ).parseText( xmltext )
def newxml = new StreamingMarkupBuilder().bind {
product(name:"Dota") {
language("Java")
language("Groovy")
language("JavaScript")
mkp.yield xml
}
}
println XmlUtil.serialize( newxml )
这篇关于如何添加节点到groovy MarkupBuilder?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文