SAX Parser не разбирает спецсимволы "&" - PullRequest
0 голосов
/ 23 февраля 2012

Я использую SAX Parser для разбора xml, как этот:

<items>
 <item>
   <id>1000</id>
   <title>Rock Music</title>
 </item>

 <item>
   <id>1011</id>
   <title>R&B Music</title>
 </item>
......................

Когда я разбираю, я могу получить только:

1000 Rock Music
1011

но не текст, который содержит специальный символ и ничего после ... он останавливается на этом. У меня все в порядке с пробелами, проблема только со специальным символом. Я пробовал:

 InputSource is = new InputSource(sourceUrl.openStream());
 is.setEncoding("ISO-8859-1"); //also "UTF-8" and other encoding but didn't work.

Как я могу извлечь и отобразить текст, содержащий "&", если у меня нет доступа к редактированию XML ?, (я слышал, что если вы пишете &amp;, когда вы пишете XML, он работает нормально!?)

1 Ответ

1 голос
/ 23 февраля 2012

Вы можете попытаться обернуть ввод во что-то вроде FilterInputStream и HTML-кодировать текст самостоятельно, прежде чем SAX его увидит.

Но, на самом деле, вы должны поговорить с тем, кто отправляет эти данные, и заставить их исправить поврежденный XML.

...