Я работаю над средством чтения RSS-каналов для определенного канала RSS, и у меня возникла проблема с SAX и тегом.Тег выглядит следующим образом:
<description>
<![CDATA[<img src=http://www.lamaruniversitypress.com/polopoly_fs/1.1832584!image/2678128836.jpg_gen/thumbnails/100x100/2678128836.jpg><br /><br><p>
South Korea vowed Wednesday to completely punish North Korea if it attacks again.
...</p>]]>
</description>
В моем методе startElement этот элемент для обработки описания тега выглядит следующим образом:
if (localName.equals("description"))
{
currentstate = RSS_DESCRIPTION;
return;
}
, а мой метод chars выглядит следующим образом:
case RSS_DESCRIPTION:
_item.setDescription(theString);
Log.i("DESCRIPTION","characters[" + theString + "]");
currentstate = 0;
break;
Файл журнала отображает это:
12-22 11:21:06.517: INFO/TITLE(489): characters[SKorea holds massive new drills after North attack]
12-22 11:21:06.527: INFO/DESCRIPTION(489): characters[
12-22 11:21:06.527: INFO/DESCRIPTION(489): ]
Это моя первая попытка работы с SAX, и я почти переписал все это с помощью другого парсера, спрашивая вас, ребята:мои последние попытки.
Я пытался обработать тег абзаца, который не работает, предположительно, потому что он находится внутри CDATA.Я попытался вставить подстановки описаний, подобных этому
String theString = new String(ch,start,length);
/*
if ( currentstate == RSS_DESCRIPTION){
theString = new String(ch, theString.indexOf("<p>") + 3, theString.indexOf("</p>"));
}
, и программа просто останавливается при попадании в нее.
Заранее спасибо за любую помощь !!!-Давид