Wie kann ich mit Groovys XmlSlurper auf das Vorhandensein eines Elements prüfen?
Ich versuche, um zu bestimmen, ob ein XML-element vorhanden ist, mit Groovy ist XmlSlurper. Gibt es eine Möglichkeit, dies zu tun? Zum Beispiel:
<foo>
<bar/>
</foo>
Wie kann ich prüfen, ob das bar-element existiert?
InformationsquelleAutor der Frage Josh Brown | 2009-01-26
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der API ist ein wenig screwy, aber ich denke, dass es ein paar bessere Möglichkeiten für die Kinder. Was Sie bekommen, wenn Sie Fragen, für "xml".bar" (das existiert) oder "xml".quux" was nicht ist, ist ein groovig.util.slurpersupport.NodeChildren Objekt. Im Grunde eine Sammlung von Knoten, die die Kriterien erfüllen, dass Sie gefragt haben.
Einen Weg, um zu sehen, ob ein bestimmter Knoten existiert, ist zu prüfen, für die Größe des NodeChildren ist das erwartete Größe:
Andere Möglichkeit wäre die Verwendung der find-Methode und sehen, ob der name des Knotens wird zurückgegeben (leider immer etwas zurück), ist die, die Sie erwartet hatten:
InformationsquelleAutor der Antwort Ted Naleid
Die isEmpty-Methode auf GPathResult funktioniert.
Diese stört mich, weil das bar-element ist leer - es doesn ' T haben einen Körper. Aber ich nehme an, die GPathResult ist nicht leer, also vielleicht, das macht Sinn.
InformationsquelleAutor der Antwort Josh Brown