2009-11-25 3 views
-1

은 내가 당신이 XPath를 지원하는 XML 파서 바람직 엔진이 필요합니다 MMV의 속성과 모든 CS 태그XML 파싱 문제

<MMV val="Configdes000110010101"> 
    <CS protocol="SNMP" CommandString="wmanIfBsDcdInterval" 
     oid="1.3.6.1.2.1.10.184.1.1.2.2.1.1" Get_SecurityString="public" 
     Set_SecurityString="public" type="INTEGER" > </CS> 
    <CS protocol="SNMP" CommandString="wmanIfBsUcdInterval" 
     oid="1.3.6.1.2.1.10.184.1.1.2.2.1.2" Get_SecurityString="public" 
     Set_SecurityString="public" type="INTEGER" > </CS> 
    <CS protocol="SNMP" CommandString="wmanIfBsUcdTransition" 
     oid="1.3.6.1.2.1.10.184.1.1.2.2.1.3" Get_SecurityString="public" 
     Set_SecurityString="public" type="INTEGER" > </CS> 
    <CS protocol="SNMP" CommandString="wmanIfBsDcdTransition" 
     oid="1.3.6.1.2.1.10.184.1.1.2.2.1.4" Get_SecurityString="public" 
     Set_SecurityString="public" type="INTEGER" > </CS> 
</MMV> 

답변

2

의 모든 속성을 얻을 수있는이 같은 구문을 분석 할 필요가있다. 나는 XOM (자바) http://www.xom.nu를 사용하고 MMV 속성 모두의 모든 속성을 줄 것이다

Nodes attributes = document.query("//[email protected]*"); 

같은 XPath 식의 뭔가를 작성합니다. 마찬가지로

Nodes attributes = document.query("//[email protected]*"); 

UPDATE는 XML 후

Node valAttribute = document.query("[email protected]").get(0); 

을 게시하고, CS 버전은 여전히 ​​작동합니다 또는

Nodes csAttributes = document.query("MMV/[email protected]*"); 

는 다른 방법이 XSLT와 함께 할 수 있습니다.

참고 : 속성을 요청합니다. 실제로는 속성 값만을 원할 수도 있습니다.

1

DOM/SAX/Pull Parser를 사용하여 필요한 정보를 추출 할 수 있습니다. 선택은 XML의 크기와 수행하려는 작업에 따라 다릅니다.

1

jdom을 사용할 수 있으며, 간단한 API를 사용하여 쉽게 사용할 수 있습니다.

1

JAXB를 사용해보십시오. XML을 구문 분석하고 속성을 오브젝트에 바인드합니다. XML에서 XSD를 만들면 JAXB가 클래스 파일을 생성하고 구문 분석을 수행합니다.