Programovanie

Štekanie XML s Groovy

V začiatkoch používania jazyka Java v spojení s XML sa často javilo ťažšie, ako by malo byť, použitie programovacieho jazyka Java so značkovým jazykom XML. Okrem netriviálnych a často odlišne implementovaných rozhraní API DOM a SAX bolo obyčajným problémom aj jednoduché nájdenie správnej verzie Xerces (a neskôr Crimson) bez toho, aby bolo v knižnici príliš veľa konfliktných verzií. Toto prostredie viedlo k vytvoreniu a postupne prijatému projektu JDOM. Neskorší vývoj, ako napríklad zavedenie štandardného rozhrania API Java XML na analýzu JAXP (JDK 1.4) a začlenenie JAXB do Java SE 6 (a ďalších samostatných knižníc väzieb Java / XML), by syntézu a prácu s XML v Jave výrazne uľahčili. . Groovy pokračuje v týchto pokrokoch v uľahčovaní integrácie Java / XML. V tomto blogovom príspevku sa pozriem na to, ako použitie nástroja Groovy's XmlSlurper robí analýzu XML osviežujúco ľahkou a takmer transparentnou.

Nasledujúci jednoduchý kód XML sa použije na demonštráciu nástroja Groovy XmlSlurper. XML súbor pre tento príklad sa volá RockAndRoll.xml.

RockAndRoll.xml

Nasledujúci úryvok kódu zobrazuje časť kódu Groovy pomocou nástroja XMLSlurper na vytlačenie niektorých podrobností na základe tohto zdrojového kódu XML. Groovy skript sa v tomto prípade volá slurpXml.groovy.

slurpXml.groovy

#! / usr / bin / env groovy // slurpXml.groovy // Ukazuje použitie XML preplácania Groovy. // albums = new XmlSlurper (). parse ("RockAndRoll.xml") albums.Album.each {println "$ {it. @ artist} album $ {it. @ title} vyšiel v $ {it. @ rok}. “ it.Song.each {println "\ tVybavenie $ {it. @ title}, ktoré vyvrcholilo v USA vrcholom $ {it. @ peak}"}} 

Ako ukazuje vyššie uvedený Groovy kód, na analýzu kódu XML a na vytlačenie jeho výsledkov ako súčasti dlhších reťazcov je potrebných iba niekoľko riadkov kódu. Jediný riadok nový XmlSlurper (). parse ("RockAndRoll.xml") stačí analyzovať zdrojový XML. Potom premenná, ktorej sú tieto výsledky priradené (v tomto prípade albumy) poskytuje prístup k obsahu XML pomocou známej syntaxe.

Po vykonaní vyššie uvedeného Groovy kódu vyzerajú jeho výsledky ako tie, ktoré sú uvedené na nasledujúcej snímke obrazovky.

Príručka používateľa Groovy má časť venovanú pokrytiu čítania XML pomocou aplikácie Groovy's XmlSlurper. Táto časť poukazuje na ďalšie problémy spojené s používaním aplikácie Groovy's XmlSlurper, ako je napríklad práca s názvami značiek XML, ktoré obsahujú pomlčky (okolo názvu použite dvojité úvodzovky, vrátane spojovníka) a podrobnosti zhody menného priestoru.

Záver

Pretože Groovy je skutočne Java, môže Groovy využiť nepreberné množstvo rozhraní API na spracovanie XML pre Javu. Groovy však môže a ešte ďalej ide a poskytuje ešte ľahšie použiteľné rozhrania API na manipuláciu s XML. Groovy's XmlSlurper je príkladom toho, ako Groovy robí čítanie / analýzu / šlabovanie XML jednoduchšie ako kedykoľvek predtým.

Ďalšie odkazy

Okrem sekcie Groovy User Guide na XmlSlurper existuje mnoho ďalších online zdrojov, ktoré sa zaoberajú používaním XmlSlurper. Niektoré z nich tu uvádzam.

• Čítanie XML pomocou aplikácie Groovy's XmlSlurper

• Groovy: Spracovanie existujúceho XML (6. marca 2009)

• Practically Groovy: Building, Parsing, and Slurping XML (19. mája 2009)

• Nič vás neurobí viac než XML (12. marca 2008)

• Aktualizácia XML pomocou XmlSlurper

• Groovy XMLSlurper

Tento príbeh, „Slurping XML with Groovy“, bol pôvodne publikovaný spoločnosťou JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found