본문 바로가기

XML & WebServices

[XStream] XStream 사용예 crescent에서 색인 설정 파일을 xml로 정의하고 있습니다. collections.xml인데요... 본래 이걸 그냥 dom4j를 사용해서 읽어서 Map과 기타 필요한 오브젝트를 생성하는 형태로 만들어서 사용하고 있었습니다. 그러다보니.. webpage에서 이 collections.xml설정을 변경하는 기능을 추가하려보니.. 저런 형태로는 다루기가 어려울 것 같아서 XML과 POJO의 변환에 관련된 라이브러리를 찾아보다가 XStream을 알게되어 처음 사용해보았습니다. 꽤 오래전부터 많이 사용되던 것 같은데.. 왜 몰랐을까요 -_-; http://xstream.codehaus.org 예제도 잘 나와있습니다. 이걸 사용해서 collections.xml을 변환해본 예제입니다. xml 자체가 그리 복잡하지.. 더보기
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를 선택합니다. 2. "/AAA/CCC" root element AAA의 자식element 중 CCC를 모두 선택합니다. 3. "/AAA/DDD/BBB" .. 더보기
xml dtd 출처 : http://kr.blog.yahoo.com/kwon37xi/1236311.html (더 좋은 화면 있습니다.^^;) DTD ? Document Type Definition - 문서 형 정의 DTD 선언은 데이터 안에 포함하거나 별도의 다른 문서로 존재할 수 있다. DTD는 XML 데이터의 구조와 내용을 나타내는 규칙을 정의한다. 단 하나의 DTD만이 XML 문서와 데이터 객체에 연관될 수 있다. 내부/외부 서브셋 내부 서브셋 : DTD 선언을 XML 데이터 내부에 포함. 외부 서브셋 : DTD 선언이 다른 문에서 위치. .dtd 파일 내부 서브셋에 있는 DTD 선언은 외부 서브셋에 있는 선언보다 우선순위가 높다. 유사한 선언이 양쪽에 존재할 때, 내부 서브셋의 선언이 사용된다. XML과 DTD.. 더보기
SAX(Simple API for XML) SAX(Simple API for XML) DOM & SAX DOM은 XML 문서를 트리 구조로 취급 하므로 다루기 용이하다. 그러나 XML 문서 전체를 읽어 트리로 조립하기에 커다란 XML 문서를 다루는기에는 용이 하지 못한 부분도 있다. 그래서 XML 문서를 다루는 방법으로 DOM과 함께 SAX라고 불리는 방법이 주로 사용 된다. DOM은 XML 문서 전체를 읽어 들이므로 문서안을 찾으면서 문서의 일부분에 대해 조작을 할 수 있지만 문서 전체를 읽음 으로서 효율성은 저하 SAX의 경우 앞부분 부터 순서대로 읽어 들여 처리하므로 요소나 텍스트를 단순히 추출하는것은 간단하나 문서의 일부분을 조작하는 것은 DOM에 비해 복잡하다. XML 문서를 앞에서 부터 읽어 들여 거기에 등장하는 요소나 텍스트에 따라 .. 더보기