我正在从一个网站解析xml。但是在解析时,CDATA部分中的文本看起来不像是常规文本。例如,文本包含’;用于字符"。我该如何解决这个问题?如何正常解析CDATA部分中的文本?我正在使用XmlPullParser。这是我的XMLParser:
List<Sozcu> sozcus;
Sozcu sozcu;
String text,text1;
public XMLParser() {
sozcus = new ArrayList<Sozcu>();
}
public List<Sozcu> getCountries() {
return sozcus;
}
public List<Sozcu> parse(InputStream inputStream){
try{
// HttpURLConnection connection =(HttpURLConnection) new URL(url).openConnection();
// InputStream inputStream = connection.getInputStream();
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(false);
XmlPullParser parser = factory.newPullParser();
parser.setInput(inputStream,null);
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT){
String tagName = parser.getName();
switch (eventType){
case XmlPullParser.START_TAG:
if(tagName.equalsIgnoreCase("item")){
sozcu = new Sozcu();
}
break;
case XmlPullParser.TEXT:
text = parser.getText();
break;
case XmlPullParser.END_TAG:
if(tagName.equalsIgnoreCase("item")){
//countries.add(country);
sozcus.add(sozcu);
}else if(tagName.equalsIgnoreCase("description")){
// country.setRank(text);
sozcu.setDescription(text);
}else if(tagName.equalsIgnoreCase("link")){
// country.setName(text);
sozcu.setLink(text);
}else if(tagName.equalsIgnoreCase("pubDate")){
// country.setPopulation(text);
sozcu.setDate(text);
}else if(tagName.equalsIgnoreCase("title")){
// country.setPopulation(text);
sozcu.setTitle(text);
}else{
}
break;
default:
break;
}
eventType = parser.next();
}
}catch (Exception e){
e.printStackTrace();
}
return sozcus;
}
这里是Xml:<description><![CDATA[Balyoz davasından yargılanan Emekli Amiral Semih Çetin, CNNTÜRK’te Ahmet Hakan’ın sunduğu Tarafsız Bölge programına konuk oldu. Çetin programda, 15 Temmuz darbe girişimiyle ilgili dikkat çeken bir iddiayı paylaştı.   “FETÖ’cülerin sözde darbe konseyi, ‘Yurtta Sulh’ta yer alan isimler açıklanmadan darbe girişimi bitti sayılmaz. İnsanlar ancak o zaman evine dönebilir” diyen Çetin, çarpıcı açıklamalar yaptı. Yurtta […]]]></description>
请帮助我
它看起来是html编码的,你需要对它进行html解码。
Html.fromHtml("YOUR STRING HERE").toString();