>  기사  >  XML 구문 분석 기술의 차이점은 무엇입니까?

XML 구문 분석 기술의 차이점은 무엇입니까?

hzc
hzc원래의
2020-07-03 16:39:063710검색

Xml 구문 분석 기술에는 DOM, SAX, STAX가 있습니다. 차이점은 대용량 파일을 처리할 때 DOM의 성능이 크게 저하된다는 것입니다. SAX는 XML 파일을 순차적으로 읽어들이고 전체 파일을 로드할 필요가 없습니다. 즉시 문서.

XML 구문 분석 기술의 차이점은 무엇입니까?

1.DOM은 XML 문서를 생성하고 구문 분석합니다
          XML 문서의 구문 분석된 버전에 대한 인터페이스 세트를 정의합니다. 파서는 전체 문서를 읽고 메모리 상주 트리 구조를 구축합니다. 그런 다음 코드는 DOM
인터페이스를 사용하여 조작할 수 있습니다. 장점: 전체 문서 트리가 메모리에 있으므로 삭제, 수정, 재배열과 같은 다양한 기능을 지원합니다. 단점: 전체 문서를 메모리(쓸데없는 노드 포함)로 전송하면 시간과 공간이 낭비됩니다. 또한 이 데이터에 여러 번 액세스해야 합니다. 하드웨어 리소스(메모리, CPU)가 충분합니다.
2.SAX는 XML 문서를 생성하고 구문 분석합니다
        DOM의 문제를 해결하기 위해 SAX가 등장했습니다. SAX, 이벤트 중심. 파서는 요소의 시작, 요소의 끝, 텍스트의 시작이나 끝, 문서 등을 찾으면 이벤트를 보내고, 프로그래머는 이러한 이벤트에 응답하는 코드를 작성하여 데이터를 저장합니다. 장점: 전체 문서를 미리 로드할 필요가 없으며 리소스를 덜 차지합니다. SAX 파서 코드는 DOM 파서 코드보다 작고 애플릿 및 다운로드에 적합합니다. 단점: 지속되지 않습니다. 데이터가 저장되지 않으면 상태가 유지되지 않습니다. 이벤트에서 텍스트만 얻을 수 있지만 해당 텍스트가 속한 요소는 알 수 없습니다. XML 문서 적은 양의 콘텐츠, 거의 재검토되지 않는 기계 메모리
3. DOM4J는 XML 문서를 생성하고 구문 분석합니다.
  DOM4J는 뛰어난 성능, 강력한 기능 및 극도의 용이성을 갖춘 매우 뛰어난 Java XML
  API입니다. 사용하는 동시에 오픈 소스 소프트웨어이기도 합니다. 요즘에는 점점 더 많은 Java 소프트웨어가 DOM4J를 사용하여 XML을 읽고 쓰는 것을 볼 수 있습니다. 특히 Sun의 JAXM도 DOM4J를 사용하고 있다는 점은 언급할 가치가 있습니다.成4.JDOM은 XML을 생성하고 구문 분석합니다.
DOM 및 SAX의 인코딩 양을 줄이기 위해 JDOM의 장점: 20-80 원칙, 코드 수를 크게 줄입니다. 사용 사례: 구현해야 할 기능은 구문 분석, 생성 등 간단하지만, 최하위 수준에서 JDOM은 여전히 ​​SAX(가장 일반적으로 사용되는), DOM 및 Xanan 문서를 사용합니다.
XML 문서 정의에는 몇 가지 형식이 있나요? 그들 사이의 본질적인 차이점은 무엇입니까? XML 문서를 구문 분석하는 방법은 무엇입니까?
 답변: a: dtd 스키마의 두 가지 형태, b: 본질적인 차이점: 스키마 자체는 xml이고 XML 파서로 구문 분석할 수 있습니다(이것은 DTD에서 스키마를 개발하는 근본적인 목적이기도 합니다), c: DOM, SAX가 있습니다 , STAX 등
DOM: 대용량 파일을 처리할 때 성능이 크게 저하됩니다. 이 문제는 DOM의 트리 구조로 인해 발생하며, DOM은 파일을 구문 분석하기 전에 전체 문서를 메모리에 로드해야 합니다. 이는
XML
SAX에 적합합니다. SAX는 이벤트 기반 XML 구문 분석 방법입니다. 전체 파일을 한 번에 로드하지 않고 XML 파일을 순차적으로 읽습니다. 파일의 시작, 문서의 끝 또는 태그의 시작과 끝과 같은 항목이 발생하면 사용자는 콜백 이벤트에 처리 코드를 작성하여
이벤트를 트리거합니다. XML에 대한 순차적 액세스를 위해

위 내용은 XML 구문 분석 기술의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.