2

我正在使用 MarkupBuilder 生成 xml,需要知道如何将 NodeChild 添加到 MarkupBuilder 对象

我的代码

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)}
}
4

1 回答 1

7

您可以使用 StreamingMarkupBuilder 将任意节点插入 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 )
于 2012-08-08T08:23:54.027 回答