Hvordan lese og analysere XML-filer i Java?



Denne artikkelen om java XML-parser hjelper deg med å forstå hva en XML-parser er og hvordan du analyserer en XML-fil ved hjelp av dom parser i Java.

XML, eXtensible Markup Language er et markeringsspråk som definerer et sett med regler for koding av dokumenter i et format som er lesbart. XML-parsing refererer til å gå gjennom et XML-dokument for å få tilgang til eller endre data. An XML-parser gir den nødvendige funksjonaliteten for å få tilgang til eller endre data i et XML-dokument. La oss utforske i denne artikkelen XML Parser i detalj.

Hva er XML Parser?

De XML-parser er et programvarebibliotek eller en pakke som gir et grensesnitt for klientapplikasjoner for å jobbe med XML-dokumenter. Den sjekker for riktig format på XML-dokumentet og validerer også XML-dokumentene.





Følgende diagram viser hvordan XML-parser samhandler med XML-dokumenter:

xml parser - Edureka Du kan tenke på validering som et annet trinn utover parsing. Ettersom komponentdelene av programmet identifiseres ved parsing, kan en valideringsparser sammenligne dem med mønsteret som er lagt ned av DTD eller skjema for å kontrollere at de samsvarer.



JAVA XML-parser

Den grunnleggende komponenten i XML-utvikling er XML-parsing. XML-parsing for Java er en frittstående XML-komponent som analyserer et XML-dokument (og til tider også et frittstående DTD eller XML-skjema) slik at brukerprogrammet kan behandle det. Figuren nedenfor viser et XML-dokument som input til XML Parser for

  • Et XML-dokument blir sendtsom input til XML Parser for Java
  • DOM- eller SAX-parsergrensesnittet analyserer XML-dokumentet
  • Den analyserte XML overføres deretter til applikasjonen for videre behandling

XML Parser for Java kan også inkludere en integrert XSL Transformation (XSLT) prosessor for transformering av XML-data ved hjelp av XSL-stilark. Ved hjelp av XSLT-prosessoren kan du enkelt transformere XML-dokumenter fra XML til XML, XML til HTML eller praktisk talt til ethvert annet tekstbasert format.



Java gir mange alternativer for å analysere XML-dokumenter.Some av de ofte brukte Java XML-parserne er:

  1. DOM Parser
  2. SAX Parser
  3. StAX Parser
  4. JAXB

I denne artikkelen, la oss sjekke hvordan du analyserer en XML-fil ved hjelp av DOM-parseren.

Java XML Parser - DOM

DØMMEKRAFT står for Dokumentobjektmodell. DOM Parser er den enkleste Java XML-parseren å implementere og lære. Den analyserer et helt XML-dokument, laster det inn i minnet og konstruerer et representasjon av dokumentet.La oss vurdere et enkelt eksempel for å forstå konseptet.

For demoformål vil vi bruke en fil som heter Ansatte. Xml . I filen har hver ansatt en unik ID, for- og etternavn, alder og lønn, og de ansatte er atskilt med ID-ene.

Dean Winchester 30 2500 Sam Davis 22 1500 Jake Peralta 24 2000 Amy Griffin 25 2250

Også, for å fange forestillingen om en ansatt, oppretter vi sin respektive Java-klasse, kalt Ansatt.java som vist under:

pakke MyPackage offentlig klasse Ansatt {privat streng-ID privat streng fornavn privat streng etternavn privat int alder privat dobbeltlønn offentlig ansatt (streng-ID, streng fornavn, streng etternavn, alder, dobbeltlønn) {this.ID = ID dette.Firstnavn = fornavn this.Lastname = Etternavn this.age = alder this.salary = lønn} @ Override public String toString () {return ''}}

Analyser en XML-fil ved hjelp av DOM Parser

Document Object Model (DOM) gir API-er som lar deg opprette, endre, slette og omorganisere noder etter behov. DOM-parseren analyserer hele XML-dokumentet og laster XML-innholdet i en trestruktur. Bruker Node og NodeList klasser, kan vi hente og endre innholdet i en XML-fil.

En prøve som laster innholdet i en XML-fil og skriver ut innholdet, vises nedenfor:

pakke MyPackage import java.io.File import java.io.IOException import java.util.ArrayList import java.util.List import javax.xml.parsers.DocumentBuilder import javax.xml.parsers.DocumentBuilderFactory import javax.xml.parsers.ParserConfigurationExc import org.w3c.dom.Document import org.w3c.dom.Element import org.w3c.dom.Node import org.w3c.dom.NodeList import org.xml.sax.SAXException public class DomParserExample {public static void main (String [] args) kaster ParserConfigurationException, SAXException, IOException {// Get Document Builder DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance () DocumentBuilder builder = factory.newDocumentBuilder () // Last inn XML-dokumentet, analyser det og returner en forekomst av // Dokumentklasse. Dokumentdokument = builder.parse (ny fil ('Ansatte.xml')) Liste ansatte = ny ArrayList () NodeList nodeList = document.getDocumentElement (). GetChildNodes () for (int i = 0 i

Utførelsen av koden skjer som følger:

  • Først må du importere dom parserpakker i applikasjonen
  • Neste trinn er å opprette DocumentBuilder gjenstand
  • Les XML-filen til dokumentobjektet.
  • Parse og lagre XML-filen i en forekomst av dokumentklassen
  • Når du finner en node av typen Node.ELEMENT_NODE , hente all informasjonen og lagre dem i en forekomst av medarbeiderklassen
  • Til slutt skriver du ut informasjonen til alle lagrede ansatte

Produksjon

 

Slik kan du analysere en XML-fil ved hjelp av DOM Parser. DOM-parser har sine fordeler og ulemper.

Fordeler og ulemper ved DOM Parser

Fordeler

i c ++
  • API er veldig enkelt å bruke
  • Den støtter både lese- og skriveoperasjoner
  • Foretrekkes når det kreves tilfeldig tilgang til vidt adskilte deler av et dokument

Ulemper

  • Det er minne ineffektivt. Som denfilstørrelsen øker, ytelsen forverres og bruker mer minne
  • Forholdsvis tregere enn andre XML-parsere som er tilgjengelige i Java

Dette bringer oss til slutten av denne ‘Java XML Parser’-artikkelen.

Forsikre deg om at du trener så mye som mulig og tilbakestiller opplevelsen.

Sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 250 000 fornøyde elever spredt over hele verden. Vi er her for å hjelpe deg med hvert trinn på reisen, for å bli en foruten dette java-intervjuspørsmålene, kommer vi med en læreplan som er designet for studenter og fagpersoner som ønsker å være Java-utvikler.

Har du et spørsmål til oss? Vennligst nevn det i kommentarfeltet til denne ‘Java XML Parser’ artikkel, og vi kommer tilbake til deg så snart som mulig.