【发布时间】:2012-08-25 00:08:13
【问题描述】:
我有一个 XML 文档中的这一行:
<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg" contentScriptType="text/ecmascript" width="1024" zoomAndPan="magnify" contentStyleType="text/css" viewBox="0 0 1024 768" height="768" preserveAspectRatio="xMidYMid meet" version="1.0">
我希望能够使用 split 方法将其拆分。例如我想将每个参数保存到一个字符串数组中。
所以我想:
contentScriptType="text/ecmascript"
width="1024"
zoomAndPan="magnify"
contentStyleType="text/css"
viewBox="0 0 1024 768"
height="768"
etc 等要保存到字符串数组中,有没有使用 split 方法来做到这一点,或者任何人都可以建议一种更简单、更有效的方法来做到这一点?
这是看起来很吓人的正则表达式:
\s(.*?)\s?=(?:(?:\\[,"']|[^,"'])+|"(?:\\"|[^"])*(?<!\\)"|'[^']*'|)
Eclipse 不会接受这个,因为它有无效的字符常量,有人知道如何克服这个错误吗?
【问题讨论】:
-
您可以使用Xstream 将其映射到一个对象中(我会这样做)。 Xstream 非常简单,几乎不需要任何配置。
-
为什么不使用真正的 XML 解析器?有很多极端情况,使用
split()正确执行操作将是一个很大的麻烦。 -
你应该使用an XML parser而不是拆分。
-
理想情况下,我会将其拆分为一个字符串数组,将每个参数保存为一个字符串。
标签: java xml eclipse parsing split