2011-10-12 5 views

risposta

3

Dal Groovy documentation on XMLSlurper:

Se i tuoi elementi contengono personaggi come trattini, è possibile racchiudere il nome dell'elemento tra virgolette.

Esempio:

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() 

Testato e ha lavorato per me.

+0

Ha funzionato per me .... Grazie mille I ho provato a usare le virgolette, ma ho sbagliato @. –

1

È inoltre possibile gestire gli attributi sillabati (e non trattini) utilizzando le variabili, utile talvolta solo nell'elaborazione generica di XML con attributi sconosciuti o incoerenti (come, ad esempio, moduli Web inviati).

Qui potete vedere un esempio che loop attraverso tutti gli attributi nel codice XML, indipendentemente dal fatto che essi hanno un hypen o no:

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}") 
} 
Problemi correlati