Jak číst a analyzovat XML soubor v Javě?

Tento článek o analyzátoru jazyka Java XML vám pomůže pochopit, co je analyzátor XML a jak analyzovat soubor XML pomocí analyzátoru dom v Javě.

XML, rozšiřitelný značkovací jazyk je značkovací jazyk, který definuje sadu pravidel pro kódování dokumentů ve formátu, který je čitelný. Analýza XML označuje procházení dokumentu XML za účelem přístupu nebo úpravy dat. An Analyzátor XML poskytuje požadované funkce pro přístup nebo úpravu dat v dokumentu XML. V tomto článku pojďme prozkoumat Analyzátor XML podrobně.

Co je to XML Parser?

The Analyzátor XML je softwarová knihovna nebo balíček, který poskytuje rozhraní pro klientské aplikace pro práci s dokumenty XML. Zkontroluje správný formát dokumentu XML a také ověří dokumenty XML.





Následující diagram ukazuje, jak analyzátor XML interaguje s dokumenty XML:

analyzátor xml - Edureka O validaci si můžete myslet jako o další fázi mimo analýzu. Jelikož jsou při analýze identifikovány součásti programu, může je ověřující analyzátor porovnat se vzorem stanoveným DTD nebo schématem a zkontrolovat, zda vyhovují.



JAVA XML Parser

Základní součástí vývoje XML je analýza XML. XML parsing for Java is a standalone XML component that parses an XML document (and at sometimes at a standalone DTD or XML Schema) so that user program can process it. Obrázek níže ukazuje dokument XML jako vstup do analyzátoru XML pro

  • Je odeslán dokument XMLjako vstup do analyzátoru XML pro Javu
  • Rozhraní analyzátoru DOM nebo SAX analyzuje dokument XML
  • Analyzovaný XML je poté přenesen do aplikace k dalšímu zpracování

Analyzátor XML pro Javu může také zahrnovat integrovaný procesor XSL Transformation (XSLT) pro transformaci dat XML pomocí šablon stylů XSL. Pomocí procesoru XSLT můžete snadno převádět dokumenty XML z XML do XML, XML do HTML nebo prakticky do jakéhokoli jiného textového formátu.



Java poskytuje mnoho možností pro analýzu dokumentů XML.SOme z běžně používaných analyzátorů jazyka Java XML jsou:

  1. Analyzátor DOM
  2. Analyzátor SAX
  3. Analyzátor StAX
  4. JAXB

V tomto článku se podívejme, jak analyzovat soubor XML pomocí analyzátoru DOM.

Analyzátor Java XML - DOM

ROZSUDEK znamená Model objektu dokumentu. DOM Parser je nejjednodušší java XML parser, který lze implementovat a naučit se. Analyzuje celý dokument XML, načte jej do paměti a vytvoří a reprezentace dokumentu.Uvažujme o jednoduchém příkladu k pochopení konceptu.

Pro demo účely budeme používat soubor s názvem Zaměstnanci.xml . V souboru má každý zaměstnanec jedinečné ID, jméno a příjmení, věk a plat a zaměstnanci jsou odděleni svými ID.

jak používat tablo veřejné
Dean Winchester 30 2500 Sam Davis 22 1500 Jake Peralta 24 2000 Amy Griffin 25 2250

Abychom zachytili představu zaměstnance, vytvoříme také jeho příslušnou třídu Java s názvem Zaměstnanec.java Jak je ukázáno níže:

balíček MyPackage veřejná třída Zaměstnanec {soukromé Řetězec ID soukromé Řetězec Jméno soukromé Řetězec Příjmení soukromé int věk soukromý dvojitý plat veřejný zaměstnanec (ID řetězce, jméno řetězce, příjmení řetězce, int věk, dvojnásobný plat) {this.ID = ID this.Firstname = jméno this.Lastname = Lastname this.age = age this.salary = plat} @Override public String toString () {return ''}}

Analyzujte soubor XML pomocí analyzátoru DOM

Model Object Object (DOM) poskytuje rozhraní API, která vám umožňují vytvářet, upravovat, mazat a přeskupovat uzly podle potřeby. Analyzátor DOM analyzuje celý dokument XML a načte obsah XML do stromové struktury. Za použití Uzel a NodeList tříd, můžeme načíst a upravit obsah souboru XML.

Vzorek který načte obsah souboru XML a vytiskne jeho obsah, je uveden níže:

balíček 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.ParserConfigurationException 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 veřejná třída DomParserExample {public static void main (String [] args) hodí ParserConfigurationException, SAXException, IOException {// Get Document Builder DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance () DocumentBuilder builder = factory.newDocumentBuilder () // Načtěte vstupní dokument XML, analyzujte jej a vraťte instanci // Třída dokumentu. Dokumentový dokument = builder.parse (nový soubor ('Zaměstnanci.xml')) Seznam zaměstnanců = nový ArrayList () NodeList nodeList = document.getDocumentElement (). GetChildNodes () pro (int i = 0 i

K provedení kódu dochází následovně:

  • Nejprve musíte do aplikace importovat balíčky analyzátoru dom
  • Dalším krokem je vytvoření DocumentBuilder objekt
  • Načtěte soubor XML do objektu Document.
  • Analyzujte a uložte soubor XML v instanci třídy Document
  • Když najdete uzel typu Uzel.ELEMENT_NODE , načíst všechny jeho informace a uložit je v instanci třídy Employee
  • Nakonec vytiskněte informace o všech uložených zaměstnancích

Výstup

 

Takto můžete analyzovat soubor XML pomocí analyzátoru DOM. Analyzátor DOM má své výhody a nevýhody.

Výhoda a nevýhody analyzátoru DOM

Výhody

  • API je velmi jednoduché
  • Podporuje operace čtení i zápisu
  • Preferováno, když je vyžadován náhodný přístup k široce odděleným částem dokumentu

Nevýhody

  • Je to paměť neefektivní. Jakovelikost souboru se zvyšuje, jeho výkon se zhoršuje a spotřebovává více paměti
  • Poměrně pomalejší než jiné analyzátory XML dostupné v Javě

Tím se dostáváme na konec tohoto článku „Java XML Parser“.

Ujistěte se, že cvičíte co nejvíce a vraťte své zkušenosti.

Podívejte se na Edureka, důvěryhodná online vzdělávací společnost se sítí více než 250 000 spokojených studentů po celém světě. Jsme tu, abychom vám pomohli s každým krokem na vaší cestě, abychom se kromě otázek týkajících se tohoto rozhovoru pro javu stali i učebním plánem, který je určen pro studenty a profesionály, kteří chtějí být vývojářem Java.

Máte na nás dotaz? Uveďte to prosím v sekci komentářů tohoto „Java XML Parser“ článku a my se vám ozveme co nejdříve.