본문 바로가기

XML & WebServices

dom4j를 사용해 봅시다. - (1) XPath


http://stackoverflow.com/questions/1006283/xpath-select-first-element-with-a-specific-attribute 

이번에 플젝을 하면서 xml을 읽어서 처리 할 부분이 있었습니다.
jdom을 사용했었는데, dom4j라는 것을 알게 되어서 한번 사용을 해보려고 합니다.
일단 간단한 사용 방법을 익히기 위해서 이것저것 해보겠습니다.

dom4j는 xpath의 사용이 예전 jdom에 비해서 많이 편해졌습니다.

일단 xpath의 간단한 가이드를 먼저 알아보겠습니다.

1. "/AAA"
root Element를 선택합니다.

<AAA>
 <BBB><BBB/>
 <CCC><CCC/>
 <DDD>
    <BBB/>
  <DDD/>
</AAA>

2. "/AAA/CCC"
root element AAA의 자식element 중 CCC를 모두 선택합니다.

     <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <BBB/>
          <DDD>
               <BBB/>
          </DDD>
          <CCC/>
     </AAA>

3. "/AAA/DDD/BBB"
    root Element AAA의 자식element인 DDD의 자식element인 BBB를 모두 선택합니다.
 
    <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <BBB/>
          <DDD>
               <BBB/>
          </DDD>
          <CCC/>
     </AAA>

4."//BBB"

element BBB를 모두 선택합니다.
     <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <DDD>
               <BBB/>
          </DDD>
          <CCC>
               <DDD>
                    <BBB/> 
                <BBB/>
               </DDD>
          </CCC>
     </AAA>

5."//DDD/BBB"
DDD의 자식element인 BBB를 모두 선택합니다.

    <AAA>
          <BBB/>
          <CCC/>
          <BBB/>
          <DDD>
               <BBB/>
          </DDD>
          <CCC>
               <DDD>
                    <BBB/>
                    <BBB/>
               </DDD>
          </CCC>
     </AAA>

더 자세한 내용은

http://www.zvon.org/xxl/XPathTutorial/Output/example1.html

이곳을 참조하세요.