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