Programování

Prořezávání XML s Groovy

V raných dobách používání Javy ve spojení s XML se často zdálo obtížnější používat programovací jazyk Java se značkovacím jazykem XML, než by mělo být. Kromě netriviálních a často odlišně implementovaných rozhraní API DOM a SAX bylo běžným problémem také prosté nalezení správné verze Xerces (a později Crimson) bez příliš mnoha konfliktních verzí této knihovny. Toto prostředí vedlo k vytvoření a postupně obdržel projekt JDOM. Pozdější vývoj, jako je zavedení standardního Java XML parsing API JAXP (JDK 1.4) a zahrnutí JAXB do Java SE 6 (a dalších vazebných knihoven Java / XML dostupných samostatně), by syntézu a práci s XML v Javě mnohem usnadnilo . Groovy pokračuje v těchto pokrokech v usnadnění integrace Java / XML. V tomto příspěvku na blogu se podívám na to, jak použití nástroje XmlSlurper od Groovy dělá analýzu XML osvěžující snadností a téměř transparentností.

Následující jednoduchý kód XML bude použit k předvedení Groovy XmlSlurper. Soubor XML pro tento příklad se nazývá RockAndRoll.xml.

RockAndRoll.xml

Následující fragment kódu ukazuje nějaký Groovy kód pomocí XMLSlurper k vytištění některých podrobností na základě tohoto zdrojového XML. Groovy skript se v tomto případě nazývá slurpXml.groovy.

slurpXml.groovy

#! / usr / bin / env groovy // slurpXml.groovy // Ukazuje použití XML prořezávání Groovy. // alba = new XmlSlurper (). parse ("RockAndRoll.xml") albas.Album.each {println "$ {it. @ artist} album $ {it. @ title} vyšlo v $ {it. @ rok}." it.Song.each {println "\ tVydání $ {it. @ title}, které vyvrcholilo v USA na $ {it. @ peak}"}} 

Jak ukazuje výše uvedený Groovy kód, k analýze XML a tisku jejích výsledků jako součásti delších řetězců je potřeba pouze několik řádků kódu. Jediný řádek new XmlSlurper (). parse ("RockAndRoll.xml") je vše, co je potřeba k analýze zdrojového XML. Pak proměnná, ke které jsou tyto výsledky přiřazeny (v tomto případě alba) poskytuje přístup k obsahu XML pomocí známé syntaxe.

Když je proveden výše uvedený Groovy kód, jeho výsledky vypadají jako ty, které jsou uvedeny na následujícím snímku obrazovky.

Uživatelská příručka Groovy obsahuje část věnovanou pokrytí čtení XML pomocí nástroje Groovy's XmlSlurper. Tato část poukazuje na další problémy související s používáním Groovy XmlSlurper, jako je řešení názvů značek XML, které obsahují pomlčky (kolem názvu používejte uvozovky se spojovníkem) a podrobnosti shody jmenného prostoru.

Závěr

Protože Groovy ve skutečnosti je Java, může Groovy využít nepřeberné množství API pro manipulaci s XML pro Javu. Groovy však může a jde nad rámec toho a poskytuje ještě jednodušší rozhraní API pro manipulaci s XML. Groovy XmlSlurper je příkladem toho, jak Groovy usnadňuje čtení / analýzu / slurping XML než kdy dříve.

Další odkazy

Kromě sekce Groovy User Guide na XmlSlurper existuje mnoho dalších online zdrojů, které pokrývají použití XmlSlurper. Zde uvádíme některé z nich.

• Čtení XML pomocí nástroje Groovy XmlSlurper

• Groovy: Zpracování existujícího XML (6. března 2009)

• Practically Groovy: Building, Parsing, and Slurping XML (19. května 2009)

• Nic vás nedělá více než XML (12. března 2008)

• Aktualizace XML pomocí XmlSlurper

• Groovy XMLSlurper

Tento příběh „Slurping XML with Groovy“ byl původně publikován společností JavaWorld.