Programavimas

XML sušukavimas su Groovy

Pirmosiomis dienomis naudojant „Java“ kartu su XML dažnai atrodė sunkiau, nei turėtų būti, naudoti „Java“ programavimo kalbą su XML žymėjimo kalba. Be ne trivialių ir dažnai skirtingai įgyvendinamų DOM ir SAX API, dažna problema taip pat buvo rasti tinkamą „Xerces“ (ir vėliau „Crimson“) versiją, neturint per daug prieštaringų tos bibliotekos versijų. Ši aplinka paskatino sukurti ir nuosekliai gautą JDOM projektą. Vėlesni pokyčiai, tokie kaip standartinės JAXP Java XML analizavimo API (JDK 1.4) įvedimas ir JAXB įtraukimas į Java SE 6 (ir kitas atskiras Java / XML susiejimo bibliotekas), labai palengvintų Java analizavimą ir darbą su XML. . Groovy tęsia šiuos pasiekimus palengvindamas Java / XML integraciją. Šiame tinklaraščio įraše apžvelgiu, kaip naudojant Groovy XmlSlurper, XML analizavimas tampa gaiviai paprastas ir beveik skaidrus.

Šis paprastas XML kodas bus naudojamas Groovy XmlSlurper demonstravimui. Šio pavyzdžio XML failas vadinamas RockAndRoll.xml.

RockAndRoll.xml

Kitas kodo fragmentas rodo „Groovy“ kodą, naudodamas XMLSlurper, kad išspausdintų tam tikrą informaciją pagal šį šaltinio XML. Šiuo atveju vadinamas „Groovy“ scenarijus slurpXml.groovy.

slurpXml.groovy

#! / usr / bin / env groovy // slurpXml.groovy // Parodo Groovy XML slurping naudojimą. // albumai = naujas XmlSlurper (). analizuoti ("RockAndRoll.xml") albumai.Album.each {println "$ {it. @ artist} albumas $ {it. @ title} buvo išleistas $ {it. @ metai}. " it.Song.each {println "\ tSiūlomi $ {it. @ title}, kurie JAV pasiekė aukščiausią kainą $ {it. @ peak}"}}} 

Kaip rodo aukščiau pateiktas „Groovy“ kodas, norint susieti XML ir išspausdinti jo rezultatus kaip ilgesnių eilučių, reikalingos tik kelios kodo eilutės. Viena eilutė naujas „XmlSlurper“ (). analizavimas („RockAndRoll.xml“) yra viskas, ko reikia išanalizuoti šaltinio XML. Tada kintamasis, kuriam priskiriami tie rezultatai (šiuo atveju albumai) suteikia prieigą prie XML turinio per pažįstamą sintaksę.

Kai bus įvykdytas aukščiau pateiktas „Groovy“ kodas, jo rezultatai atrodys tokie, kaip parodyta toliau pateiktoje ekrano nuotraukoje.

„Groovy“ vartotojo vadove yra skyrius, skirtas XML skaitymo aprėpčiai naudojant „Groovy“ XmlSlurper. Šiame skyriuje nurodomos papildomos problemos, susijusios su „Groovy XmlSlurper“ naudojimu, pvz., XML žymų pavadinimų, kuriuose yra brūkšneliai (naudokite dvigubas kabutes aplink pavadinimą su brūkšneliais, naudojimas) ir vardų srities atitikimo informacija.

Išvada

Kadangi „Groovy“ iš tikrųjų yra „Java“, „Groovy“ gali naudoti daugybę „Java“ skirtų XML tvarkymo API. Tačiau „Groovy“ gali ir peržengia tai ir teikia dar lengviau naudojamas API, skirtas manipuliuoti XML. „Groovy“ „XmlSlurper“ yra pavyzdys, kaip „Groovy“ palengvina XML skaitymą / analizavimą / slopinimą kaip niekada.

Papildomos nuorodos

Be „Groovy“ vartotojo vadovo skyriaus apie „XmlSlurper“, yra daugybė kitų internetinių šaltinių, kurie apima „XmlSlurper“ naudojimą. Kai kuriuos iš jų čia išvardiju.

• XML skaitymas naudojant Groovy XmlSlurper

• Groovy: esamos XML apdorojimas (2009 m. Kovo 6 d.)

• Praktiškai „Groovy“: XML kūrimas, analizavimas ir slopinimas (2009 m. Gegužės 19 d.)

• Niekas nepadaro noro daugiau nei XML (2008 m. Kovo 12 d.)

• XML atnaujinimas naudojant „XmlSlurper“

• „Groovy XMLSlurper“

Šią istoriją „XML slurping with Groovy“ iš pradžių išleido „JavaWorld“.