当我解析 XML 时,CDATA 部分中的文本似乎不规则
While i am parsing XML , the text in CDATA Section doesn't seem regular
我正在从网站解析 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();
我正在从网站解析 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();