Groovy - Как передавать узлы XML между документами? - PullRequest
1 голос
/ 27 августа 2009

до% 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 ...)

Спасибо, Ондра

1 Ответ

2 голосов
/ 27 августа 2009

В следующих работах я догадался, как может выглядеть содержимое 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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...