JAVA用于拆分XML参数的split()方法
我从一个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">
我希望能够使用拆分方法将其拆分。例如,我想将每个参数保存到一个字符串数组中
所以我想:
contentScriptType="text/ecmascript"
width="1024"
zoomAndPan="magnify"
contentStyleType="text/css"
viewBox="0 0 1024 768"
height="768"
etc等保存到字符串数组中,是否有任何方法可以使用split方法进行此操作,或者有人可以建议一种更简单、更有效的方法来进行此操作
下面是一个看起来很吓人的正则表达式:
\s(.*?)\s?=(?:(?:\\[,"']|[^,"'])+|"(?:\\"|[^"])*(?<!\\)"|'[^']*'|)
Eclipse不会接受这个错误,因为它有无效的字符常量,有人知道如何克服这个错误吗
# 1 楼答案
有多种方法可以表示同一个XML文档(见下文),空格和引号中的差异会使编写(和维护)正则表达式变得困难
输入。xml(表示法1)
输入。xml(表示法2)
我建议使用XML解析器。下面是如何使用StAX (JSR-173)实现的。Java SE 6中包含了一个StAX解析器的实现
演示
输出