2011-08-25 3 views
-1

기존 XML 문서를 쓰기 모드로 열고 루트 요소에 새 노드를 추가하는 방법은 무엇입니까? 내가 dom4j 라이브러리를 사용하고 있지만 그것을 할 길을 혼란스러워했다. XML 파일에 점진적으로 데이터를 추가하고 싶지만 초라하다. 간단한 프로그램 구조가 도움이 될 수 있습니다.dom4j를 사용하여 기존 데이터를 overwrting하는 대신 XML 문서에 데이터를 추가하는 방법은 무엇입니까?

+2

가장 먼저 알아야 할 점은 DOM4j, JDOM 또는 DOM과 같은 API를 사용할 때 XML 문서 파일을 조작하지 않고 메모리의 문서 노드 트리를 조작한다는 것입니다. –

답변

1

그것은 여러 단계의 프로세스입니다

  1. 파일이든 SAXReader 또는 유사한 클래스를 사용하여, DOM4J를 사용에서 XML을 읽습니다. 이렇게하면 dom4j Document 객체가 생성됩니다. 즉, XML 파일이 파싱되어 결국 유효성이 검사되고 RAM에로드됩니다.
  2. 이제 문서가 RAM에로드되고 Document, Element 등의 인스턴스를 사용하여 다시 읽습니다. 제공하는 메서드를 사용하여 Document 개체를 조작합니다. 예를 들어, .getRootElement는 Element의 인스턴스 인 루트 요소를 제공합니다. 그 위에 .addChild, .removeChild 등을 호출 할 수 있습니다.
  3. XMLWriter 또는 유사한 클래스를 사용하여 XML을 파일에 저장하거나 원하는 곳으로 스트리밍합니다.

Dom4j는 http://dom4j.sourceforge.net/dom4j-1.6.1/guide.html에 매우 유용한 설명서 및 소개 자료를 제공합니다. Javadoc을 살펴보면 조작에 사용할 수있는 모든 메소드를 찾을 수 있습니다.

관련 문제