0
我解析XML文档中的一些数据,然后将其写回到另一个XML文档。我遇到了一个问题,原始数据中的数据是用CDATA部分写的。XML字符实体参考
这是输入的例子:
<actions><![CDATA[<div>
check that's is sent </div>
我简单地更换DIV,P等与substring
功能,但我的输出是
<logical>check that &#39; is sent </logical>
我要输出到内容似乎是相同的输入:
<logical>check that's is sent </logical>
我试过使用子字符串以及,像这样:
string= string.replaceAll("&#\\d+;", " 39");
但现在的问题是,这个数量是可变的,所以我需要与&#numl;
内的数量,以取代目前的regex另外,串可包含许多数字,所以我不能只是寻找一些在它里面,像这样:
check that's is sent and*s is received
解析如何?为什么不使用像DOM或SAX这样的java中现有的XML解析器? – Progman
我将标题更改为引用XML实体以允许人们识别问题。修正了标点符号和布局。 –
@Progman我在上面说过,文本是在Cdata部分编写的,我使用DOM解析它,但我仍然得到一个包含标签和转义字符的文字XML文本,我不知道他为什么将他的文本存储在cdata部分,但是我在这种情况下,我是前端,我必须处理它。 – ASayed