Java 解析Atom RSS时遇到的问题
我使用以下Atom XML:Java 解析Atom RSS时遇到的问题,java,android,rss,atom-feed,xmlpullparser,Java,Android,Rss,Atom Feed,Xmlpullparser,我使用以下Atom XML: <content type="xhtml"> <div xmlns="http://www.w3.org/1999/xhtml"> <table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox"> <tbody>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox">
<tbody>
<tr>
<td class="sites-layout-tile sites-tile-name-content-1">
<div dir="ltr">
<div>HELLO WHHS STUDENTS CONGRADULATIONS TO ALL </div>
<div>
<br />
</div>
<div>
<br />
</div>DONT CLICK THE WWW</div>
</td>
</tr>
</tbody>
</table>
</div>
</content>
问题是,当内容类型为xhtml时,由于它包含一些div,我的解析器崩溃。我试图实现一个while bucle,它必须获取content节点的所有div中的所有文本内容,但是我遇到了一个崩溃:04-30 13:42:28.453:W/System.err8169:org.xmlpull.v1.XmlPullParserException:意外类型位置:text HELLO WHHS STUDE…@2:2135 in java.io。InputStreamReader@41e0b6d8
这是我针对xhtml问题案例的代码:
if(name.equals("content")){
if (parser.getAttributeValue(null, "type").equals("xhtml")){
String text = "";
while( parser.nextTag() != XmlPullParser.END_TAG && !parser.getName().equals("content") ){
String childname=parser.getName();
if(childname.equals("div")){
if(parser.getEventType() == XmlPullParser.TEXT && parser.getText()!=null){
text+=(Html.fromHtml(parser.getText())).toString();
}
parser.nextTag();
continue;
}
}
current.setDescription(text);
parser.nextTag();
continue;
}
}
例外情况如下:
while( parser.nextTag() != XmlPullParser.END_TAG && !parser.getName().equals("content") ){
while( parser.nextTag() != XmlPullParser.END_TAG && !parser.getName().equals("content") ){