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.