2011-10-12 15 views

Respuesta

3

Desde el Groovy documentation on XMLSlurper:

Si sus elementos contienen caracteres como guiones, puede incluir el nombre del elemento entre comillas dobles.

Ejemplo:

def myXML = '<router name="b" id="x" manufacturer-id="e" model-number="a"/>' 
def router = new XmlSlurper().parseText(myXML) 
def attr = [email protected]"model-number".text() 

Probado y trabajó para mí.

+0

Se trabajó para mí .... Muchas gracias I intenté usar comillas, pero no lo hice @. –

1

También puede manejar atributos con guiones (y sin guiones) mediante el uso de variables, lo que es útil a veces solo en el procesamiento genérico de XML con atributos desconocidos o inconsistentes (como, tal vez, formularios web enviados).

Aquí se puede ver un ejemplo que se repite a través de todos los atributos en el XML, independientemente de si tienen o no un hypen:

def xml = "<router name='b' id='x' manufacturer-id='e' model-number='a'/>" 
def router = new XmlSlurper().parseText(xml) 
for (String attrib : router.attributes().keySet()) { 
    value = [email protected]"$attrib".text() 
    println("${attrib}=${value}") 
} 
Cuestiones relacionadas