Kā lasīt un parsēt XML failu Java?



Šis raksts par java XML parsētāju palīdzēs jums saprast, kas ir XML parsētājs un kā parsēt XML failu, izmantojot Java dom parsētāju.

XML, paplašināmā iezīmēšanas valoda ir iezīmēšanas valoda, kas nosaka noteikumu kopumu dokumentu kodēšanai lasāmā formātā. XML parsēšana attiecas uz XML dokumenta iziešanu, lai piekļūtu datiem vai tos modificētu. An XML parsētājs nodrošina nepieciešamo funkcionalitāti, lai piekļūtu datiem vai mainītu tos XML dokumentā. Šajā rakstā izpētīsim XML parsētājs detalizēti.

Kas ir XML parsētājs?

The XML parsētājs ir programmatūras bibliotēka vai pakotne, kas nodrošina saskarni klienta lietojumprogrammām darbam ar XML dokumentiem. Tas pārbauda XML dokumenta pareizo formātu un arī apstiprina XML dokumentus.





Šī diagramma parāda, kā XML parsētājs mijiedarbojas ar XML dokumentiem:

xml parsētājs - Edureka Jūs varat domāt par validāciju kā vēl vienu posmu ārpus parsēšanas. Tā kā parsējot tiek identificētas programmas sastāvdaļas, validējošais parsētājs tos var salīdzināt ar DTD vai shēmas noteikto modeli, lai pārbaudītu, vai tās atbilst.



JAVA XML parsētājs

XML izstrādes pamatkomponents ir XML parsēšana. XML parsēšana Java ir atsevišķs XML komponents, kas parsē XML dokumentu (un dažreiz arī atsevišķu DTD vai XML shēmu), lai lietotāja programma varētu to apstrādāt. Zemāk redzamajā attēlā parādīts XML dokuments kā ievade XML parsatoram domēnam

atšķirība starp ignorēšanu un pārslodzi
  • Tiek nosūtīts XML dokumentskā ievadi Java XML parsatoram
  • DOM vai SAX parsētāja saskarne parsē XML dokumentu
  • Parsētais XML tiek pārsūtīts uz lietojumprogrammu tālākai apstrādei

Java XML parsētājs var ietvert arī integrētu XSL pārveidošanas (XSLT) procesoru XML datu pārveidošanai, izmantojot XSL stila lapas. Izmantojot XSLT procesoru, jūs varat viegli pārveidot XML dokumentus no XML uz XML, XML uz HTML vai praktiski jebkuru citu teksta formātu.



Java nodrošina daudz iespēju XML dokumentu parsēšanai.SDaži no visbiežāk izmantotajiem Java XML parsētājiem ir:

  1. DOM parsētājs
  2. SAX parsētājs
  3. StAX parsētājs
  4. JAXB

Šajā rakstā pārbaudīsim, kā parsēt XML failu, izmantojot DOM parsētāju.

Java XML parsētājs - DOM

SPRIEDUMS apzīmē Dokumenta objekta modelis. DOM parsētājs ir vienkāršākais Java XML parsētājs, ko ieviest un iemācīties. Tas parsē visu XML dokumentu, ielādē to atmiņā un izveido a dokumenta attēlojums.Apsvērsim vienkāršu piemēru, lai saprastu jēdzienu.

Demonstrācijas nolūkos mēs izmantosim failu ar nosaukumu Darbinieki.xml . Lietā katram darbiniekam ir unikāls personas kods, vārds un uzvārds, vecums un alga, un darbiniekus atdala ar viņu personu apliecinošajiem dokumentiem.

Dīns Vinčesteris 30 2500 Sems Deiviss 22 1500 Džeiks Peralta 24 2000 Eimija Grifina 25 2250

Turklāt, lai uztvertu darbinieka jēdzienu, mēs izveidojam tā attiecīgo Java klasi, ko sauc Darbinieks.java kā parādīts zemāk:

kas ir java mainīgais
pakete MyPackage public class Employee {private String ID private String Firstname private String Lastname private int age private double algas public Employee (String ID, String Firstname, String Lastname, int age, double alga) {this.ID = ID this.Firstname = Vārds this.Lastname = uzvārds this.age = vecums this.salary = alga} @ Pārvarēt publisko virkni toString () {return ''}}

Parsējiet XML failu, izmantojot DOM parsētāju

Dokumenta objekta modelis (DOM) nodrošina API, kas ļauj pēc vajadzības izveidot, modificēt, dzēst un pārkārtot mezglus. DOM parsētājs parsē visu XML dokumentu un ielādē XML saturu koka struktūrā. Izmantojot Mezgls un NodeList klases, mēs varam izgūt un modificēt XML faila saturu.

Paraugs kas ielādē XML faila saturu un izdrukā tā saturu, ir parādīts zemāk:

pakete MyPackage import java.io.File importēt java.io.IOException importēt java.util.ArrayList importēt java.util.List importēt javax.xml.parsers.DocumentBuilder importēt javax.xml.parsers.DocumentBuilderFactory importēt javax.xml.parsers.Pars importēt org.w3c.dom.Document importēt org.w3c.dom.Element importēt org.w3c.dom.Node importēt org.w3c.dom.NodeList importēt org.xml.sax.SAXException publisko klasi DomParserExample {public static void main (virkne [] args) izmet ParserConfigurationException, SAXException, IOException {// Iegūt dokumentu veidotāju DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance () DocumentBuilder builder = factory.newDocumentBuilder () // Ielādējiet ievades XML dokumentu, parsējiet to un atdodiet parseti Dokumentu klase. Dokuments document = builder.parse (new File ('Employees.xml')) Saraksta darbinieki = new ArrayList () NodeList nodeList = document.getDocumentElement (). GetChildNodes () domēnam (int i = 0 i

Kods tiek izpildīts šādi:

  • Pirmkārt, lietojumprogrammā jāimportē dom parsētāja pakotnes
  • Nākamais solis ir izveidot DocumentBuilder objekts
  • Izlasiet XML failu dokumenta objektā.
  • Parsējiet un saglabājiet XML failu dokumentu klases instancē
  • Kad atrodat tipa mezglu Mezgls.ELEMENT_NODE , izgūstiet visu tās informāciju un saglabājiet to Darbinieku klases instancē
  • Visbeidzot, izdrukājiet visu saglabāto darbinieku informāciju

Rezultāts

 

Tā jūs varat parsēt XML failu, izmantojot DOM parsētāju. DOM parsētājam ir savas priekšrocības un trūkumi.

DOM parsētāja priekšrocības un trūkumi

Priekšrocības

  • API lietošana ir ļoti vienkārša
  • Tas atbalsta gan lasīšanas, gan rakstīšanas darbības
  • Vēlams, ja nepieciešama nejauša piekļuve plaši atdalītām dokumenta daļām

Trūkumi

  • Tā ir neefektīva atmiņa. Kāfaila lielums palielinās, tā veiktspēja pasliktinās un patērē vairāk atmiņas
  • Salīdzinoši lēnāk nekā citi XML parsētāji, kas pieejami Java

Tas mūs noved pie šī raksta “Java XML Parser” beigām.

Pārliecinieties, ka pēc iespējas vairāk praktizējat un atgriezieties pie pieredzes.

Pārbaudiet Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Mēs esam šeit, lai palīdzētu jums katrā solī jūsu ceļojumā, lai kļūtu par papildus šiem java intervijas jautājumiem, mēs piedāvājam mācību programmu, kas paredzēta studentiem un profesionāļiem, kuri vēlas būt Java izstrādātāji.

Vai mums ir jautājums? Lūdzu, norādiet to šī Java XML parsētāja komentāru sadaļā. rakstu, un mēs pēc iespējas ātrāk sazināsimies ar jums.