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

时间:2009-08-27 02:16:59

标签: xml groovy

到%subj%,我试过了:

def xp = new XmlParser();
def testsuite = xp.parseText( "<testsuite/>" );
def testsuite1 = new XmlParser().parse( "testsuite.xml" );
testsuite1.testcase.each {
  testsuite.append( it );
}

但这给了我一个例外:

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

尽管:http://groovy.codehaus.org/api/groovy/util/Node.html  说:boolean append(Node child)

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

谢谢, Ondra

1 个答案:

答案 0 :(得分:2)

以下工作,我猜测了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()