Ohjelmointi

XML: n sekoittaminen Groovyn kanssa

Alussa, kun Java-ohjelmaa käytettiin yhdessä XML: n kanssa, Java-ohjelmointikielen käyttö XML-merkintäkielen kanssa näytti usein vaikeammalta kuin pitäisi olla. Ei-triviaalien ja usein eri tavoin toteutettujen DOM- ja SAX-sovellusliittymien lisäksi yleinen ongelma oli myös Xercesin (ja myöhemmin Crimsonin) oikean version löytäminen ilman liian monta ristiriitaista versiota kirjastosta. Tämä ympäristö johti JDOM-projektin luomiseen ja peräkkäin. Myöhemmät kehitystyöt, kuten JAXP: n standardin Java XML -jäsittelysovellusliittymän (JDK 1.4) käyttöönotto ja JAXB: n sisällyttäminen Java SE 6: een (ja muut Java / XML-sidontakirjastot saatavana erikseen), tekisivät Java-sisällön jäsentämisen ja työskentelyn paljon helpommaksi . Groovy jatkaa näitä edistysaskeleita Java / XML-integraation helpottamiseksi. Tässä blogiviestissä tarkastelen, kuinka Groovyn XmlSlurper-käyttö tekee XML-jäsentämisestä virkistävän helppoa ja melkein avointa.

Seuraavaa yksinkertaista XML-koodia käytetään osoittamaan Groovyn XmlSlurper. Tämän esimerkin XML-tiedostoa kutsutaan RockAndRoll.xml.

RockAndRoll.xml

Seuraava koodinpätkä näyttää joitain Groovy-koodeja XMLSlurperin avulla tulostamaan joitain yksityiskohtia tämän lähde-XML: n perusteella. Groovy-käsikirjoitusta kutsutaan tässä tapauksessa slurpXml.groovy.

slurpXml.groovy

#! / usr / bin / env groovy // slurpXml.groovy // Osoittaa Groovyn XML-slurpingin käyttöä. // albumit = uusi XmlSlurper (). jäsennä ("RockAndRoll.xml") albumit.Album.each {println "$ {it. @ artist} -albumi $ {it. @ title} julkaistiin julkaisussa $ {it. @ vuosi}. " it.Song.each {println "\ tFeaturing $ {it. @ title}, joka saavutti huippunsa Yhdysvalloissa $ {it. @ peak}"}}} 

Kuten yllä oleva Groovy-koodi osoittaa, XML: n jäsentämiseen ja sen tulostamiseen osana pidempiä merkkijonoja tarvitaan vain muutama koodirivi. Yksi rivi uusi XmlSlurper (). jäsentää ("RockAndRoll.xml") on kaikki mitä tarvitsee XML-lähteen jäsentämiseen. Sitten muuttuja, jolle nämä tulokset on osoitettu (tässä tapauksessa albumit) tarjoaa pääsyn XML-sisältöön tutun syntaksin kautta.

Kun yllä oleva Groovy-koodi suoritetaan, sen tulokset näyttävät seuraavan näytön tilannekuvan näkymiltä.

Groovy-käyttöoppaassa on osio, joka on omistettu XML-lukemisen kattavuudelle Groovyn XmlSlurper-sovelluksella. Tässä osassa tuodaan esiin Groovyn XmlSlurper-sovellukseen liittyviä lisäkysymyksiä, kuten sellaisten XML-tunnisteiden käsitteleminen, jotka sisältävät väliviivoja (käytä kaksoislainausmerkkejä nimen ympärillä ja yhdysmerkki mukana) ja nimiavaruuden vastaavuustiedot.

Johtopäätös

Koska Groovy on todella Java, Groovy voi hyödyntää lukuisia XML: n Java-käyttöliittymiä. Groovy voi kuitenkin mennä ja ylittää tämän ja tarjoaa vielä helpommin käytettävät sovellusliittymät XML-manipulointiin. Groovyn XmlSlurper on esimerkki siitä, kuinka Groovy tekee XML: n lukemisesta / jäsentämisestä / sekoittamisesta helpompaa kuin koskaan.

Lisäviitteet

XmlSlurperin Groovy-käyttöopas-osion lisäksi on monia muita online-resursseja, jotka kattavat XmlSlurperin käytön. Luettelen joitain niistä täällä.

• XML: n lukeminen Groovyn XmlSlurperilla

• Groovy: Olemassa olevan XML: n käsittely (6. maaliskuuta 2009)

• Käytännössä Groovy: XML: n rakentaminen, jäsentäminen ja sekoittaminen (19. toukokuuta 2009)

• Mikään ei tee sinusta haluttavaa enemmän kuin XML (12. maaliskuuta 2008)

• XML: n päivittäminen XmlSlurperilla

• Groovy XMLSlurper

Tämän tarinan, "XML: n levittäminen Groovyn kanssa", julkaisi alun perin JavaWorld.