2010-04-12 10 views
0

아래와 같이 XML 문자열을 구문 분석 할 때 "autowire"와 같은 이상한 속성을 "default"값으로 가져옵니다. 어쨌든 명시 적으로 정의 된 속성 만 가져올 수 있습니까?XML 파싱에 대한 질문

<bean id="aaaa" class="com.test.Service"> 
    <property name="cccc" ref="cccc"/> 
</bean> 

나는 반복하는이 노드를 통해 다음 Document로 돌려 간단한 분석을하고 있어요.

Document document = docBuilder.parse(input); 
NodeList nodeList = document.getChildNodes(); 
etc. 

답변

2

구문 분석에 사용하는 항목에 따라 다릅니다. Spring Bean 설정 파일이라고 생각합니다. 일반적으로 XML 스키마가 연관되어 있으며 속성의 모든 기본값을 지정합니다.

실제 XML 구문 분석기가 문서를 탐색 할 때 XML의 XML 구문을 빌드하고 (DOM 파서가 분명히 트리를 작성하고 SAX 파서가 이벤트 등을 실행합니다) 해당 기본값을 삽입합니다.

3

당신은 속성이 명시 적으로 지정할지 여부를 찾기 위해 API를 다음 사용할 수 있습니다 Attributes2.isSpecified(qname)

: Attr.getSpecified()

것은 당신이 SAX를 사용하는 경우 : 당신이 DOM을 사용하는 경우