Java에서 XML 파일을 읽고 구문 분석하는 방법은 무엇입니까?



Java XML 파서에 대한이 기사는 XML 파서가 무엇인지, Java에서 dom 파서를 사용하여 XML 파일을 파싱하는 방법을 이해하는 데 도움이 될 것입니다.

XML, eXtensible Markup Language 읽을 수있는 형식으로 문서를 인코딩하기위한 규칙 세트를 정의하는 마크 업 언어입니다. XML 파싱 데이터를 액세스하거나 수정하기 위해 XML 문서를 살펴 보는 것을 말합니다. 안 XML 파서 XML 문서의 데이터를 액세스하거나 수정하는 데 필요한 기능을 제공합니다. 이 기사에서는 XML 파서에 대해 자세히 설명합니다.

XML 파서 란?

그만큼 XML 파서 클라이언트 응용 프로그램이 XML 문서로 작업 할 수있는 인터페이스를 제공하는 소프트웨어 라이브러리 또는 패키지입니다. XML 문서의 적절한 형식을 확인하고 XML 문서의 유효성도 검사합니다.





다음 다이어그램은 XML 파서가 XML 문서와 상호 작용하는 방법을 보여줍니다.

xml 파서-Edureka 유효성 검사를 구문 분석 이상의 또 다른 단계로 생각할 수 있습니다. 프로그램의 구성 요소 부분은 구문 분석 할 때 식별되므로 유효성 검사 구문 분석기는 DTD 또는 스키마에 의해 배치 된 패턴과 비교하여 준수하는지 확인할 수 있습니다.



JAVA XML 파서

XML 개발의 기본 구성 요소는 XML 구문 분석입니다. Java 용 XML 구문 분석은 사용자 프로그램이이를 처리 할 수 ​​있도록 XML 문서 (및 때때로 독립형 DTD 또는 XML 스키마)를 구문 분석하는 독립형 XML 구성 요소입니다. 아래 그림은 XML 파서에 대한 입력으로 XML 문서를 보여줍니다.

  • XML 문서가 전송됩니다.Java 용 XML 구문 분석기에 대한 입력으로
  • DOM 또는 SAX 파서 인터페이스는 XML 문서를 구문 분석합니다.
  • 그런 다음 구문 분석 된 XML은 추가 처리를 위해 애플리케이션으로 전송됩니다.

Java 용 XML 구문 분석기에는 XSL 스타일 시트를 사용하여 XML 데이터를 변환하기위한 통합 XSL 변환 (XSLT) 프로세서도 포함될 수 있습니다. XSLT 프로세서를 사용하면 XML 문서를 XML에서 XML로, XML에서 HTML로 또는 사실상 다른 텍스트 기반 형식으로 쉽게 변환 할 수 있습니다.



Java는 XML 문서를 구문 분석하기위한 많은 옵션을 제공합니다.에스일반적으로 사용되는 Java XML 파서는 다음과 같습니다.

  1. DOM 파서
  2. SAX 파서
  3. StAX 파서
  4. JAXB

이 기사에서는 DOM 파서를 사용하여 XML 파일을 파싱하는 방법을 살펴 보겠습니다.

대는 자바가 있습니다

자바 XML 파서-DOM

심판 약자 문서 개체 모델. DOM 파서는 구현하고 배우는 가장 쉬운 자바 XML 파서입니다. 전체 XML 문서를 구문 분석하고이를 메모리에로드하고 문서의 표현.개념을 이해하기 위해 간단한 예를 살펴 보겠습니다.

데모 목적으로 우리는 Employees.xml . 파일에서 각 직원은 고유 한 ID, 이름과 성, 나이 및 급여를 가지며 직원은 ID로 구분됩니다.

딘 윈체스터 30 2500 Sam Davis 22 1500 Jake Peralta 24 2000 Amy Griffin 25 2250

또한 직원의 개념을 파악하기 위해 각각의 Java 클래스를 생성합니다. Employee.java 아래 그림과 같이:

package MyPackage public class Employee {private String ID private String Firstname private String Lastname private int age private double salary public Employee (String ID, String Firstname, String Lastname, int age, double salary) {this.ID = ID this.Firstname = Firstname this.Lastname = 성 this.age = 나이 this.salary = 급여} @Override public String toString () {return ''}}

DOM 파서를 사용하여 XML 파일 구문 분석

DOM (Document Object Model)은 필요에 따라 노드를 생성, 수정, 삭제 및 재 배열 할 수있는 API를 제공합니다. DOM 파서는 전체 XML 문서를 구문 분석하고 XML 내용을 Tree 구조로로드합니다. 사용 마디NodeList 클래스에서 XML 파일의 내용을 검색하고 수정할 수 있습니다.

샘플 XML 파일의 내용을로드하고 그 내용을 인쇄하는 것은 다음과 같습니다.

package 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 public class DomParserExample {public static void main (String [] args) throws ParserConfigurationException, SAXException, IOException {// 문서 작성기 가져 오기 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance () DocumentBuilder builder = factory.newDocumentBuilder () // 입력 XML 문서를로드하고 구문 분석 한 다음 // 인스턴스를 반환합니다. 문서 클래스. 문서 문서 = builder.parse (new File ( 'Employees.xml')) 직원 목록 = new ArrayList () NodeList nodeList = document.getDocumentElement (). getChildNodes () for (int i = 0 i

코드 실행은 다음과 같이 발생합니다.

  • 먼저 애플리케이션에서 dom 파서 패키지를 가져와야합니다.
  • 다음 단계는 DocumentBuilder를 만드는 것입니다. 목적
  • XML 파일을 Document 객체로 읽습니다.
  • Document 클래스의 인스턴스에서 XML 파일 구문 분석 및 저장
  • 유형의 노드를 찾을 때 Node.ELEMENT_NODE , 모든 정보를 검색하여 Employee 클래스의 인스턴스에 저장합니다.
  • 마지막으로 저장된 모든 직원의 정보를 인쇄하십시오.

산출

 

이것이 DOM 파서를 사용하여 XML 파일을 파싱하는 방법입니다. DOM 파서는 장점과 단점이 있습니다.

DOM 파서의 장점과 단점

장점

  • API는 사용이 매우 간단합니다.
  • 읽기 및 쓰기 작업을 모두 지원합니다.
  • 문서의 광범위하게 분리 된 부분에 대한 임의 액세스가 필요한 경우 선호 됨

단점

  • 메모리 비효율적입니다. 로파일 크기 증가, 성능 저하 및 더 많은 메모리 소비
  • Java에서 사용할 수있는 다른 XML 파서보다 비교적 느립니다.

이것으로이 'Java XML Parser'기사의 끝으로 이동합니다.

가능한 한 많이 연습하고 경험을 되 돌리십시오.

C ++ 네임 스페이스 사용 방법

확인 전 세계에 250,000 명 이상의 만족 한 학습자 네트워크를 보유한 신뢰할 수있는 온라인 학습 회사 인 Edureka에서 작성했습니다. 우리는 당신의 여정의 모든 단계에서 당신을 돕기 위해 여기에 있습니다.이 자바 인터뷰 질문 외에 우리는 자바 개발자가 되고자하는 학생과 전문가를 위해 고안된 커리큘럼을 제안합니다.

질문이 있으십니까? 이 'Java XML Parser'의 주석 섹션에 언급하십시오. 기사와 우리는 가능한 한 빨리 당신에게 돌아갈 것입니다.