대부분의 자바 개발자는 자바.util.Iterator 또는 그것의 조상 자바.util.enumeration을 사용했다. 두 클래스 모두 컬렉션 API의 일부이며 컬렉션의 요소를 방문하는 데 사용됩니다. 다음은 이터레이터 사용의 예입니다: 이 섹션에서는 dom4j API를 사용하여 예제 XML 문서, catalog.xml을 수정하는 방법을 살펴보겠습니다. 이러한 파서는 http://dom4j.org 로부터 얻을 수 있다. 클래스 경로에서 사용할 수 있는 dom4j-1.4/dom4j-full.jar를 확인합니다. 여기에는 dom4j 클래스, XPath 엔진 및 SAX 및 DOM용 인터페이스가 포함되어 있습니다. JAXP 파서에 포함된 SAX 및 DOM 인터페이스가 사용되는 경우 클래스 경로에 dom4j-1.4/dom4j.jar를 추가합니다. dom4j.jar에는 dom4j 클래스와 XPath 엔진이 포함되어 있지만 SAX 및 DOM 인터페이스는 포함되어 있지 않습니다. dom4j는 XML에 저장된 데이터를 얻는 데 어떻게 도움이 됩니까? dom4j는 xml 데이터를 구문 분석하고 메모리에 트리와 같은 개체 구조를 만드는 빌더 클래스 집합과 함께 제공됩니다. 해당 모델을 쉽게 조작하고 탐색할 수 있습니다.

다음 예제에서는 dom4j API를 사용하여 데이터를 읽는 방법을 보여 줍니다. (3) 각 규칙에 대해 org.dom4j.rule.pattern 및 org.dom4j.rule.Action의 인스턴스를 설치합니다. org.dom4j.rule.Pattern은 노드 일치에 사용되는 XPath 표현식으로 구성됩니다. SAXReader는 org.dom4j.io 패키지에 포함되어 있습니다. 그래. 이제 dom4j의 규칙 API를 사용하여 가능한 솔루션을 제시할 차례입니다. 이 API는 매우 컴팩트합니다. 작성해야 하는 클래스는 복잡하지도 않고 이해하기도 매우 어렵지 않습니다.

이전 스타일시트와 동일한 결과를 얻고 자합니다. (2) 필요에 따라 org.dom4j.rule.Rule의 인스턴스를 최대한 많이 만듭니다. 요소를 복제할 수 있습니다. 일반적으로 복제는 Object에서 파생된 복제() 메서드를 사용하여 Java에서 지원됩니다. 복제 가능한 개체는 복제 가능한 인터페이스를 구현해야 합니다. 기본적으로 복제() 메서드는 얕은 복사를 수행합니다. dom4j는 XML 개체 모델의 컨텍스트에서 얕은 복사본이 의미가 없기 때문에 딥 클로닝을 구현합니다. 즉, 전체 트리 분기 또는 이벤트가 문서가 복제되기 때문에 복제에 시간이 걸릴 수 있습니다. 이제 dom4j 복제 메커니즘이 사용되는 방법을 짧게 살펴보십시오.

W3C DOM API를 통해 dom4j에 포함된 파서를 사용하는 장점은 dom4j가 기본 XPath 지원을 한다는 것입니다. DOM 파서는 노드를 선택하기 위해 XPath를 지원하지 않습니다. 가져오기 문으로 dom4j API 클래스 가져오기: 일부 기존 SAX 코드와 통합하기 위해 문서를 색소폰 이벤트로 출력하려면 org.dom4j.SAXWriter 클래스를 사용할 수 있습니다. 새 문서를 처음부터 만들어야 하는 경우가 많습니다. 여기에 그 작업의 예입니다. 가장 먼저 해야 할 일 중 하나는 일종의 XML 문서를 구문 분석하는 것입니다. 이것은 쉽게 할 수 있습니다. 다음 코드는 이 방법을 보여 줍니다. dom4j는 문서를 탐색하기 위한 몇 가지 강력한 메커니즘을 제공합니다.

다음 섹션에서는 dom4j API를 사용하여 이 섹션에서 만든 XML 문서 catalog.xml을 수정하는 방법을 살펴보겠습니다.

dom4j 예제