Groovy-如何在文档之间传输XML节点?

Groovy-如何在文档之间传输XML节点?,xml,groovy,Xml,Groovy,对于%subb%,我尝试过: def xp = new XmlParser(); def testsuite = xp.parseText( "<testsuite/>" ); def testsuite1 = new XmlParser().parse( "testsuite.xml" ); testsuite1.testcase.each { testsuite.append( it ); } def xp=new XmlParser(); def testsuite=xp.par

对于%subb%,我尝试过:

def xp = new XmlParser(); def testsuite = xp.parseText( "<testsuite/>" ); def testsuite1 = new XmlParser().parse( "testsuite.xml" ); testsuite1.testcase.each { testsuite.append( it ); } def xp=new XmlParser(); def testsuite=xp.parseText(“”); def testsuite1=new XmlParser().parse(“testsuite.xml”); testsuite1.testcase.each{ 追加(it); } 但这给了我一个例外:

groovy.lang.MissingMethodException:没有方法的签名:groovy.util.Node.append()适用于参数类型:(groovy.util.Node)值:{testcase…,…}

尽管: 说明:
布尔追加(节点子节点)

那么,如何在文档之间复制/移动节点?(以Groovy方式-不使用W3D DOM/JDOM…)

谢谢,
Ondra

下面的工作,我猜测testsuite.xml的内容可能是什么样子。您的文件很可能就是问题所在

def ts = "<testsuite/>"
def ts1 = """
<testsuite>
  <testcase>
    <foo>bar</foo>
  </testcase>
  <testcase>
    <foo>baz</foo>
  </testcase>
</testsuite>
""".trim()

def testsuite = new XmlParser().parseText(ts)
def testsuite1 = new XmlParser().parseText(ts1)

testsuite1.testcase.each {
  testsuite.append(it);
}

assert "bar" == testsuite.testcase[0].foo.text()
assert "baz" == testsuite.testcase[1].foo.text()
def ts=“”
def ts1=“”
酒吧
巴兹
“.trim()
def testsuite=new XmlParser().parseText(ts)
def testsuite1=新的XmlParser().parseText(ts1)
testsuite1.testcase.each{
追加(it);
}
断言“bar”==testsuite.testcase[0].foo.text()
断言“baz”==testsuite.testcase[1].foo.text()

这真的适合你吗?不适合我。。。仍然是相同的错误。$groovy-version groovy version:JVM:14.0-b16$groovy xmlText.gy捕获:groovy.lang.MissingMethodException:没有方法签名:groovy.util.Node.append()适用于参数类型:(groovy.util.Node)值:{testcase[attributes={};value=[foo[attributes={};value=[bar]]]]在xmlText$_run_closure1.doCall(xmlText.gy:17)在xmlText.main(xmlText.gy:16)在xmlText.Groovy 1.6.4、Linux、Sun JDK 1.6John的代码适合我——Groovy 1.6.3、Windows XP、Sun JDK 1.6.0我在Linux(Ubuntu 9.04 x64)和Windows(Vista x64)上都使用Groovy 1.6.4/Sun JDK 1.6.014尝试了我发布的代码. 我也在在线Groovy控制台上试用过它,它在那里也能工作