테스트 프로그램은 SampleReaderTest1과 SampleReaderTest2 클래스이다.
xml파일의 경로를 적당히 수정하여 프로그램을 수행한다.
XML을 파싱후 나타나게 될 엘리먼트의 객체 구조는 다음과 같다.
Window(ArrayList) - Form(ArrayList) - Form's Attribute(HashMap)
- Datasets(ArrayList) - Dataset(ArrayList)
- Grid(ArrayList)
- Div(ArrayList)
- 주의할 점1
Form 은 Window(ArrayList)의 하나의 Element임을 주의한다. (Window리스트 내에 존재한다)
이 예제는 Rule클래스를 작성하고 이를 RuleXml을 이용하여 등록하여 사용하는 법을 학습하기 위한 예제이다.
실제 이 프로그램을 실행시키면 XML파일내의 Window엘리먼트만이 Digester가 관리하는 Stack에 등록 될 뿐이다.
나머지 엘리먼트는 Window엘리먼트내에 종속된다.
이와 같은 구조는 XML구조가 매우 복잡하며 깊이가 깊을때 특정 노드 이하의 엘리먼트 그룹을 하나로 처리하기에 좋은 솔루션이라고 생각된다.
다만 엘리먼트 그룹내의 엘리먼트 하나 하나를 일일이 처리하기가 매우 번거로우며 디버깅에도 한계를 보이므로 그 깊이를 깊게 하지 않는 편이 낫다고 판단된다.
보통은 Bean형태로 엘리먼트 하나당 객체 하나씩 생성하고 특별히 관리가 필요없는 엘리먼트 그룹을 하나의 리스트 형태로 관리하면 편리할 것으로 생각된다.
- 주의할 점2
RuleXml(mainRule.xml)파일에 정의하는 pattern에 대응하는 범위는 1레벨밖에 지원할 수 없다는 것에 주의한다.
Digester_Rules_Example.jar <- 번외 샘플 프로젝트
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 58 | 톰캣에서 로그 파일 저장시 ansi 로 저장되는 현상 | 황제낙엽 | 2024.10.21 | 665 |
| 57 |
Jsoup 을 이용하여 웹 크롤링(Web Crawling)
| 황제낙엽 | 2023.08.09 | 496 |
| 56 | Apache Log4j™ 2 사용하기 | 황제낙엽 | 2023.04.28 | 594 |
| 55 | Migrating from Log4j 1.x to 2.x | 황제낙엽 | 2023.04.28 | 718 |
| 54 |
SLF4J 를 사용해야 하는 이유
| 황제낙엽 | 2022.09.17 | 584 |
| 53 | Apache Log4j 2 Configuration 파일 설정 | 황제낙엽 | 2020.04.01 | 818 |
| 52 |
이클립스에서 JUnit 사용하기
| 황제낙엽 | 2019.04.02 | 728 |
| 51 | 각 레벨별 출력파일 설정 예제 | 황제낙엽 | 2018.09.18 | 775 |
| 50 |
log4j-1.2.15.jar 와 log4j.properties 예제
| 황제낙엽 | 2017.08.04 | 840 |
| 49 |
POI HSSF, XSSF, SXSSF 성능 분석
| 황제낙엽 | 2013.11.05 | 2097 |
| 48 | POI-HSSF and POI-XSSF - Java API To Access Microsoft Excel Format Files | 황제낙엽 | 2013.11.05 | 1775 |
| 47 | Commons Logging과 Log4J | 황제낙엽 | 2013.03.07 | 733 |
| 46 |
Library & Properties 파일
| 황제낙엽 | 2011.12.23 | 981 |
| 45 |
Cell 의 wrap 설정 (텍스트 개행)
| 황제낙엽 | 2011.05.09 | 3610 |
| 44 |
XSSF Examples
| 황제낙엽 | 2011.05.04 | 816 |
| 43 | 병합된 셀의 스타일( border) 설정하기 | 황제낙엽 | 2011.05.03 | 2214 |
| 42 | 셀 크기 조정 (자동 크기 조정) | 황제낙엽 | 2011.05.03 | 8316 |
| 41 | 셀 병합 | 황제낙엽 | 2011.05.03 | 697 |
| 40 | WebSphere 에서 Log4j 사용하기 | 황제낙엽 | 2011.04.15 | 632 |
| 39 |
Map 사용 예제
| 황제낙엽 | 2010.10.17 | 622 |