【问题标题】:split xml string using java使用java拆分xml字符串
【发布时间】:2014-07-04 00:10:42
【问题描述】:

我有示例 xml 字符串

<root><a>textA</a><b>textB</b></root>

我想使用 java split 函数拆分/遍历这个 xml 以拥有一个数组,其中每个元素及其值一个接一个地放置,以便我可以轻松地操作它们。

我试过了

     split("(?=<)|(?<=>)")

但这将返回我的根元素以及数组中的结束标记以及一个元素(附加空格字符串)。 提前致谢(目前无法选择 XML 解析器)。

【问题讨论】:

  • 不要使用这种东西来处理 XML - 使用专用的 XML 解析器(例如内置的 DOM 解析器),这样更不容易出错。
  • 你是对的......但到目前为止,由于某些限制,我们没有选择使用该解析器(大部分代码已经在产品中)......我们需要以某种方式进行字符串操作更进一步..我知道这很丑,但现在无能为力..
  • 我不确定我是否理解您的限制 - 您可以修改代码,但不允许修改代码以使用标准 java XML 解析器?这会导致过多的测试开销吗?我不明白。
  • 我同意其他人的观点:字符串操作只能让你走这么远,而且很可能只适用于非常简单的 XML。不使用 XML 解析器的唯一方法(为什么不考虑嵌入作为 J2SE 的一部分?),是编写自己的递归解析器,也就是说:重新发明轮子。 split() 不是一个选项,因为 XML 的整个概念是嵌套元素,这意味着线性数组不适合表示 XML 数据。
  • 如何在生产中使用 String.split() 而不是 DocumentBuilderFactory?

标签: java xml string split


【解决方案1】:
String[] split = s.split("<.*?>");

然后过滤空数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-05-27
    • 2012-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多