2009-11-25 3 views
-1

i besoin d'analyser ce de telle sorte que je peux obtenir l'attribut de MMV et tous les attributs de tous les tags CSproblèmes d'analyse syntaxique 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> 

Répondre

2

vous aurez besoin d'un analyseur XML et de préférence un moteur qui prend en charge XPath. J'utilise XOM (Java) http://www.xom.nu et écrirais une expression quelque chose XPath comme

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

qui donnerait tous les attributs de tous les attributs MMV. De même

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

mise à jour après XML a été publié

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

et la version CS doit encore travailler ou

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

Sinon cela pourrait être fait avec XSLT.

REMARQUE: vous demandez les attributs; vous pouvez réellement vouloir seulement les valeurs d'attribut

1

Vous pouvez utiliser DOM/SAX/Pull Parser pour extraire les informations requises. Le choix dépend de la taille de XML et de ce que vous voulez faire.

1

Vous pouvez utiliser jdom, il a une API simple, est facile à utiliser.

1

Essayez JAXB. Il va analyser le XML et lier les attributs aux objets. Vous pouvez créer un XSD à partir du XML et JAXB va générer les fichiers de classe et faire l'analyse.