繁体   English   中英

XML解析问题

[英]XML parsing problems

我需要对此进行解析,以便可以获取MMV的属性和所有CS标签的所有属性

<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>

您将需要一个XML解析器,最好是一个支持XPath的引擎。 我使用XOM(Java) http://www.xom.nu并会编写类似以下内容的XPath表达式

Nodes attributes = document.query("//MMV@*");

这将提供所有MMV属性的所有属性。 相似地

Nodes attributes = document.query("//CS@*");

XML发布后的更新

Node valAttribute = document.query("MMV@val").get(0); 

并且CS版本仍然可以使用

Nodes csAttributes = document.query("MMV/CS@*");

或者,可以使用XSLT完成此操作。

注意:您要求属性; 您可能实际上只需要属性值

您可以使用DOM / SAX / Pull Parser提取所需的信息。 选择取决于XML的大小以及您想做什么。

您可以使用jdom,它具有一个简单的api,易于使用。

试试JAXB。 它将解析XML并将属性绑定到对象。 您可以从XML创建XSD,并且JAXB将生成类文件并进行解析。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM