【发布时间】:2016-12-28 19:48:10
【问题描述】:
我目前正在处理一个由多个 XML 文件组成的 XML 字符串(所有 xml 数据都存储在 String xml 中):
<?xml version="1.0" encoding="UTF-8"?>
<File xml:space="preserve">
<Subfile keyword="Store" tag="0">
<Value number="1">Amazon</Value>
</Subfile>
<Subfile keyword="Owner" tag="1">
<Value number="1">Alice Murphy</Value>
</Subfile>
<Subfile keyword="Date" tag="2">
<Value number="1">20161114</Value>
</Subfile>
</File>
<?xml version="1.0" encoding="UTF-8"?>
<File xml:space="preserve">
<Subfile keyword="Store" tag="0">
<Value number="1">Walmart</Value>
</Subfile>
<Subfile keyword="Owner" tag="1">
<Value number="1">Eliza Calvin</Value>
</Subfile>
<Subfile keyword="Date" tag="2">
<Value number="1">20161130</Value>
</Subfile>
</File>
...
我想根据 xml 标签使用 String.split() 拆分这个 xml 字符串。
我还希望数组的结果元素保留充当分隔符的 xml 标记。
我使用的代码是
String[] xmls = xmlString.split("(?=<?xml version=\"1.0\" encoding=\"UTF-8\"?>)");
但是,当我这样做时,什么也没发生。我在这里做错了什么?
感谢您的帮助!
【问题讨论】:
-
你没有转义特殊字符。
-
另外,什么都没发生并不是一个很有用的问题描述。
-
使用
Pattern.quote()转义模式