使用 Commons Digester 解析成 HashMap
我需要将 xml 解析为 HashMap,其中“键”是两个元素属性的串联。 xml 如下所示:
<map>
<parent key='p1'><child key='c1'> value1</child></parent>
<parent key='p2'><child key='c2'> value1</child></parent>
</map>
在地图的第一个条目中,我想将“p1.c1”作为地图键,而“value1”作为地图值。如何实现这一目标?
I need to parse xml into a HashMap where the 'key' is the concatenation of two elements attributes.
The xml looks like :
<map>
<parent key='p1'><child key='c1'> value1</child></parent>
<parent key='p2'><child key='c2'> value1</child></parent>
</map>
In the 1st entry of map, I want to put 'p1.c1'as the map key while 'value1' as the map value. How to achieve that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用 Xstream 的示例 (http://x-stream.github.io/)。它不完全遵循您的 XML 规范,我将嵌套的
标记添加到
标记中。输出:
这有帮助吗?否则请跟进。
An example using Xstream (http://x-stream.github.io/). It does not completely follow your XML spec, I added nested
<value>
tags to the<child>
tags.Output:
Does this help? Otherwise please follow up.
Apache Common Digest 并不是真正的完全解析器,它有时非常非常慢...如果您必须处理大型 XML 文档,您可能需要查看扩展的 VTD-XML,它支持高达 256 GB 的 XML,它还支持内存映射,允许部分加载XmL文档
Apache common digest is not really a fully parser and it is sometimes very very slow... if you have to deal with large XML documents you probably want to check out extended VTD-XML, which supports up to 256 GB of XML, it also supports memory map, allowing partial loading of XmL document
已解决。用户扩展 hashmap 规则。
Resolved. user extend hashmap rule.
您在选择和使用 XML 解析器时遇到问题吗?
Do you have problem selecting and using XML parsers?