Groovy - Como transferir nós XML entre documentos?

votos
1

a% subj%, eu tentei:

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

Mas isso me dá uma exceção:

groovy.lang.MissingMethodException: Não assinatura do método: groovy.util.Node.append () é aplicável para tipos de argumentos: os valores (groovy.util.Node): {testcase ..., ...}

Apesar de: http://groovy.codehaus.org/api/groovy/util/Node.html diz:boolean append(Node child)

Então, como faço para copiar nós / mover entre documentos? (De uma maneira Groovy - não usando W3D DOM / JDOM ...)

Obrigado, Ondra

Publicado 27/08/2009 em 03:16
fonte usuário
Em outras línguas...                            


1 respostas

votos
2

As seguintes obras, eu imaginei, como o que o conteúdo de testsuite.xml pode parecer. É provável que seu arquivo é o problema.

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()
Respondeu 27/08/2009 em 05:45
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more