XML 解析问题

发布于 2024-08-12 12:11:38 字数 937 浏览 3 评论 0原文

我需要解析它,以便我可以获得 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>

i need to parse this such that i can get the attribute of MMV and all the attributes of all CS tags

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

荒路情人 2024-08-19 12:11:38

您将需要一个 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 来完成。

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

you will need an XML parser and preferably an engine that supports XPath. I use XOM (Java) http://www.xom.nu and would write an XPath expression something like

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

which would give all the attributes of all the MMV attributes. Similarly

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

UPDATE after XML was posted

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

and the CS version should still work or

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

Alternatively this could be done with XSLT.

NOTE: You ask for the attributes; you may actually want only the attribute values

方圜几里 2024-08-19 12:11:38

您可以使用 DOM/SAX/Pull Parser 来提取所需的信息。选择取决于 XML 的大小以及您想要执行的操作。

You can use DOM/SAX/Pull Parser to extract the required information. The choice depends upon the size of XML and what you want to do.

暮色兮凉城 2024-08-19 12:11:38

你可以使用jdom,它有一个简单的api,很容易使用。

You can use jdom,it had a simple api,is easy to use.

蛮可爱 2024-08-19 12:11:38

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

Try JAXB. It will parse the XML and bind the attributes to objects. You can create an XSD from the XML and JAXB will generate the class files and do the parsing.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文