【问题标题】:XML Parser with multi valued具有多值的 XML 解析器
【发布时间】:2011-05-23 19:41:48
【问题描述】:
我需要在 java 中解析一个包含多值属性的 XML。带分隔符,第一个值如果由“,”逗号分隔,则第二个值由“;”分隔分号,第三个值用*星号分隔,并将值放入arraylist中
示例 XML
<ab:AttributeValue>name:may, age=23; sex:m*name:june, age=24;sex:m</ab:AttributeValue>
有人可以帮我用java写一个算法吗?
【问题讨论】:
标签:
java
xml
parsing
delimiter
【解决方案1】:
从 XML 的角度来看,其中的数据只是普通的“文本”。任何 java/XML 工具包,例如 XMLBeans 或 JAX-B,或就此而言的 STaX 或 SAX 或 DOM,只会将其作为字符串传递。 (或作为 char[] 的片段)。
由你来解析它;它与 XML 无关。您可以只编写普通的 Java 代码,或者使用 javacc 甚至 ANTLR 等包编写词法分析器。
我,我只是使用 StaX,然后编写使用 String.split(",") 的老式代码,然后使用 ":",假设您不必担心转义命令和冒号.