可能重複:
JAVA SAX parser split calls to characters()薩克斯字符打破元素除了
我有以下語法的XML文件:
<tag ...>
a bunch of text here
<tag ...>
目前沒有任何結束標記爲tag
。我抓住兩個標籤之間的文本,並將它們存儲在characters()
的List<String>
中。它大部分工作,但在一些XML文件中,它讀取行結束符或其他內容,將文本分成兩部分;而不是存儲單個條目,「這裏有一堆文本」,我得到兩個條目:「一堆」和「這裏的文本」。不同之處在於,與其他所有條目不同,它不會在「一堆」之後或「此處輸入文本」之前存儲換行符。
我需要解決這個問題,但不知道如何。我會很感激你的幫助。
我剛剛在另一篇文章中閱讀了關於這個「功能」的內容。我如何最好地解決這個問題?只需在下一次調用'startElement'時將文本添加到'List'?或者可以在其他'startElement'之後調用其他塊?我如何知道「所有人都已找到」? –
cesar
你可以將讀入的字符存儲在一個字符串緩衝區中。你知道,當你發現元素的結尾時,他們都找到了。 –
@anonymous:oops,意思是「你知道它們都是在你找到下一個元素的開始時找到的」,因爲你的標籤顯然是嵌套的 –