Programmēšana

XML slurping ar Groovy

Sākotnēji, lietojot Java kopā ar XML, bieži vien šķita grūtāk, nekā vajadzētu, izmantot Java programmēšanas valodu ar XML iezīmēšanas valodu. Papildus nebūtiskiem un bieži atšķirīgi ieviestiem DOM un SAX API bieži sastopama problēma bija arī pareizās Xerces (un vēlāk Crimson) versijas atrašana, neradot pārāk daudz konfliktējošu šīs bibliotēkas versiju. Šī vide izraisīja JDOM projekta izveidi un secīgu saņemšanu. Vēlāki notikumi, piemēram, JAXP standarta Java XML parsēšanas API ieviešana (JDK 1.4) un JAXB iekļaušana Java SE 6 (un citas Java / XML saistošās bibliotēkas, kas pieejamas atsevišķi), ievērojami atvieglotu parsēšanu un darbu ar Java XML. . Groovy turpina šos sasniegumus, atvieglojot Java / XML integrāciju. Šajā emuāra ziņā es aplūkoju, kā Groovy XmlSlurper izmantošana padara XML parsēšanu atsvaidzinoši vieglu un gandrīz caurspīdīgu.

Lai parādītu Groovy XmlSlurper, tiks izmantots šāds vienkāršs XML kods. Tiek saukts šī piemēra XML fails RockAndRoll.xml.

RockAndRoll.xml

Nākamais koda fragments parāda kādu Groovy kodu, izmantojot XMLSlurper, lai izdrukātu dažas detaļas, pamatojoties uz šo avota XML. Šajā gadījumā tiek saukts Groovy skripts slurpXml.groovy.

slurpXml.groovy

#! / usr / bin / env groovy // slurpXml.groovy // Parāda Groovy XML slurping izmantošanu. // albums = jauns XmlSlurper (). parsēšanas ("RockAndRoll.xml") albumi.Album.each {println "$ {it. @ artist} albums $ {it. @ title} tika izlaists $ {it. @ gads}. " it.Song.each {println "\ tIespējams izmantot $ {it. @ title}, kas sasniedza maksimumu ASV, sasniedzot $ {it. @ peak}"}}} 

Kā pierāda iepriekš minētais Groovy kods, XML parsēšanai un tā rezultātu drukāšanai garāku virkņu ietvaros ir nepieciešamas tikai dažas koda rindas. Viena līnija jauns XmlSlurper (). parsēt ("RockAndRoll.xml") ir viss, kas nepieciešams, lai parsētu avota XML. Tad mainīgais, kuram šie rezultāti ir piešķirti (šajā gadījumā albumi) nodrošina piekļuvi XML saturam, izmantojot pazīstamu sintaksi.

Kad tiek izpildīts iepriekš minētais Groovy kods, tā rezultāti izskatās šādi, kas parādīti nākamajā ekrāna momentuzņēmumā.

Groovy lietotāja rokasgrāmatā ir sadaļa, kas veltīta XML lasīšanai, izmantojot Groovy's XmlSlurper. Šajā sadaļā ir norādītas papildu problēmas, kas saistītas ar Groovy's XmlSlurper lietošanu, piemēram, risināšana ar XML tagu nosaukumiem, kas ietver defises (pie nosaukuma izmantojiet dubultās pēdiņas, iekļaujot defisi) un vārda vietas atbilstības informāciju.

Secinājums

Tā kā Groovy patiešām ir Java, Groovy var izmantot Java XML apstrādes API pārpilnību. Tomēr Groovy var to darīt un pārsniedz to, kā arī nodrošina vēl vieglāk lietojamas API XML manipulācijām. Groovy's XmlSlurper ir piemērs tam, kā Groovy padara XML lasīšanu / parsēšanu / slurpēšanu vieglāku nekā jebkad agrāk.

Papildu atsauces

Papildus sadaļai Groovy User Guide par XmlSlurper ir arī daudzi citi tiešsaistes resursi, kas aptver XmlSlurper lietošanu. Dažus no tiem es šeit uzskaita.

• XML lasīšana, izmantojot Groovy's XmlSlurper

• Groovy: Esošās XML apstrāde (2009. gada 6. marts)

• Praktiski Groovy: XML veidošana, parsēšana un slurpēšana (2009. gada 19. maijs)

• Nekas neliek vēlēties Groovy vairāk kā XML (2008. gada 12. marts)

• XML atjaunināšana ar XmlSlurper

• Groovy XMLSlurper

Šo stāstu “XML slurping with Groovy” sākotnēji publicēja JavaWorld.

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