2011-04-28 3 views
1

안녕 나는 sax 파서를 사용하여 XML 문서를 구문 분석하고 싶다. 내가하고 싶은 일은 외부 태그와 내부 태그를 모두 체크 아웃하는 것입니다 (예 : 다른 태그에서도 동일한 태그를 사용하고 있습니다.) 그래서 외부 태그, 즉 우리의 경우 태그 또는 tag1을 기반으로 데이터를 가져 오려고합니다. 이걸로 제발 도와 줄 수 있어요? 자바에서 색소폰을 사용하여 부모 태그와 자식 태그를 모두 확인할 수 있습니까? 제발 도와주세요.한 번에 부모 태그와 자식 태그를 모두 확인하여 색소폰을 사용하여 XML을 구문 분석하는 방법은 무엇입니까?

감사합니다 .. 나는 당신이 할 수있는 한 가지 방법은 외부 태그 u는 외부 태그가 약간의 변수 값을 설정할 수 있습니다 얻을 때 다음 다른 경우, 생각

+0

나는 100 % 확신 할 수는 없지만, SAX는 이벤트 중심적이며 전체 XML 트리를 메모리에 보유하지는 않는다고 생각합니다. DOM을 사용해야한다고 생각합니다. SAX 파서를 사용하여 DOM 트리를 작성할 수 있어야합니다. – AndersG

답변

0

, 그것은 어떤 값을 확인할 수 있습니다 내부 태그에 관해서 다음 때 그 변수는 부모 태그로 설정되어 있습니다. 핸들러의 startElement 너무

Ex: 
<x> 
<y/> 
</x> 
<z> 
<y/> 
</z> 

()

위한 경우에는 이름 == X, X (다른 z)로 설정된 변수 값을 확인할 수있다. y를 얻을 때 변수가 (x/z)로 설정되어 있는지 확인하십시오.

4

중첩 된 요소의 데이터를 보유하기 위해 스택을 사용하는 ContentHandler를 작성하십시오. StartElement의 시작 부분에서 Stack.push를 수행하고 EndElement의 끝 부분에서 Stack.pop을 수행합니다. 더 많은 데이터를 보유하려면 자신 만의 Element 클래스와 함께 Stack 또는 Stack을 사용하십시오.

Stack을 보유하고 현재 요소와 경로의 모든 종류의 정보를 가져 오는 데 필요한 자손 메서드를 제공하는 범용 추상 ContentHandler를 작성할 수도 있습니다.

관련 문제