Back to CSR

XML: apdorojimas kliento pusėje

Nors XML yra naujas produktas, jis puikiai dera su HTML ir su juo susijusiais produktais, tokiais kaip JavaScript ir CSS. Visų pirma, XML gali būti įterptas į HTML kaip vadinamosios „XML duomenų salos“. Pristatysime XML pradėdami nuo pavyzdžių, kuriuose akcentuojamos pažįstamos HTML ir susijusių technologijų savybės, o vėliau palaipsniui atskleisime daugiau XML būdingų savybių.

Ribotos formos XML naudojimas

Pirmuosiuose pavyzdžiuose naudojama labai įprasta ir plačiai paplitusi XML struktūra, kurią lengva perkelti į HTML. Ji vadinama „lentelės“ arba stačiakampio formos duomenų rinkiniu. Taikomi šie apribojimai: XML sudaro tik elementų mazgai, o ne atributai Medžio struktūra yra tik vieno lygio gylio, pvz.,

Struktūra
Struktūra
  • 1 pavyzdys: Rodyti visus įrašus Šis pirmasis pavyzdys tiesiog rodo visus įrašus paprastame lenteliniame duomenų rinkinyje. Jame nėra jokių XML teiginių, bet XML duomenų rinkinys įskaitomas į HTML lentelę.

  • 2 pavyzdys: Peržiūrėti po vieną įrašą Šiame pavyzdyje peržiūrimi įrašai po vieną, taip pat trumpai pristatoma, kaip JavaScript gali manipuliuoti XML funkcijomis.

  • 3 pavyzdys: Ieškoti įrašų, atitinkančių eilutę Šiame pavyzdyje parodoma, kaip HTML FORM formoje galima nurodyti XML failą ir ieškoti įrašų pagal jų turinį.

  • 4 pavyzdys: įrašų redagavimas po vieną Paskutinis šio rinkinio pavyzdys – gana didelė JavaScript programa, leidžianti po vieną įrašą pridėti, pašalinti ir redaguoti. Atkreipkite dėmesį, kad redagavimas atliekamas tik kliento pusėje esančioje XML įrašų rinkinio versijoje, kuri yra išsaugota talpykloje, ir neturi įtakos kopijai serveryje. Tam reikia atlikti papildomus veiksmus.

Naudojimas visiškai nevaržomo XML formato

Toliau pateikti pavyzdžiai yra visiškai bendro pobūdžio ir gali apdoroti bet kokio tipo ar sudėtingumo XML duomenų failą. Pagrindinis daugelio jų elementas yra rekursyvinė funkcija, kuri „keliauja“ po medį, kad galėtų pasiekti bet kurį elemento mazgą ar atributą. Pagrindinė rekursyvinė programa, parašyta JavaScript kalba, yra tik apie 10 eilučių ilgio, tačiau ją gali būti sunku suprasti vien dėl to, kad ji yra rekursyvinė.

Svarbu atkreipti dėmesį, kad XML dokumentas turi medžio struktūrą, kuri pranoksta pačių duomenų elementų struktūrą. Bendroji XML dokumento struktūra atrodo maždaug taip:

XML dokumento struktūra
XML dokumento struktūra

Tikrasis XML failas yra tik medžio šaka, kuri paprastai turi dvi ar tris kitas šakas. Tegul „XMLdoc“ yra XML dokumento pavadinimas. Tuomet tikrojo XML failo šaknis apibrėžiama taip: theRoot = XMLdoc.documentElement;

  • 5 pavyzdys: visų XML failo mazgų rodymas Šiame pavyzdyje tiesiog apžiūrimi visi medžio elementų mazgai ir išspausdinama jų reikšmė.

  • 6 pavyzdys: visų tam tikro pavadinimo elementų rodymas Šis pavyzdys nuskaito medį, naudodamas paprastą nerekursyvią funkciją, ir rodo visų tam tikro pavadinimo elementų vertes.

  • 7 pavyzdys: bet kurio elemento, atitinkančio eilutę, paieška Šis pavyzdys nuskaito medį ir suranda elementą (iš tikrųjų – parentNode), kuriame yra dalis ieškomos eilutės

  • 8 pavyzdys: Konkrečių elementų, atitinkančių eilutę, paieška Čia naudojamas nerekursyvus metodas, siekiant surasti tam tikro pavadinimo elementus, kurie atitinka nurodytą eilutę.

  • 9 pavyzdys: Bet kurio elemento ar atributo, atitinkančio eilutę, paieška Šiame pavyzdyje naudojamas visiškai rekursyvus nuskaitymas, siekiant surasti visus elementus ARBA atributus, kurie atitinka įvestą eilutę.

  • 10 pavyzdys: XML failo redagavimas Šiame pavyzdyje nuskaitomas bet kuris XML failas, siekiant pridėti, pašalinti arba pakeisti medžio elementų mazgus, kurie atitinka tam tikrą eilutę. Visi mazgai, kurie atitinka eilutę, gali būti pašalinti arba pakeisti, tačiau naujas mazgas pridedamas tik prieš pat tą mazgą, kuris atitinka eilutę.

Originalus straipsnis: https://staff.washington.edu/larryg/Classes/Xml/Rick/client.html