Я работаю над приложением, которое находится на немецком языке. Я получаю данные в форме XML. Я использовал парсер SAX для анализа этих XML-данных и отображения данных в TextView. Все работает отлично, за исключением специальных символов, которые я получил после разбора.Проблема с кодировкой парсера SAX на немецком языке
Это мой XML, который я получил через ссылку URL. Этот XML имеет кодировку utf-8. Все символы в этом XML-файле прекрасны.
<?xml version="1.0" encoding="utf-8"?>
<posts>
<page id="001">
<title><![CDATA[Sie kaufen bei uns ausschließlich Holzkunst- und Volkskunst-Produkte ]]></title>
<detial><![CDATA[Durch enge Beziehungen mit unseren Lieferanten können wir attraktive rückläufig
Preise und schnelle Lieferungen gewährleisten. Caroline Féry and Laura Herbst Universität Potsdam Mein
Flugzeug hatte zwölf Stunden VERSPÄTUNG </p>]]></detial>
</page>
</posts>
Я использовал SAX парсер для разбора этого XML: - (и отображение проанализированных данных в TextView
.)
public class GermanParseActivity extends Activity {
/** Called when the activity is first created. */
static final String URL = "http://www.xyz.com/id=1";
ItemList itemList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
XMLParser parser = new XMLParser();
String XML = parser.getXmlFromUrl(URL);
System.out.println("This XML is ========>"+XML);
try
{
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
/** Create handler to handle XML Tags (extends DefaultHandler) */
MyXMLHandler myXMLHandler = new MyXMLHandler();
xr.setContentHandler(myXMLHandler);
ByteArrayInputStream is = new ByteArrayInputStream(XML.getBytes());
xr.parse(new InputSource(is));
}
catch(Exception e)
{
}
itemList = MyXMLHandler.itemList;
ArrayList<String> listItem= itemList.getTitle();
ListView lview = (ListView) findViewById(R.id.listview1);
myAdapter adapter = new myAdapter(this, listItem);
lview.setAdapter(adapter);
}
}
но после разбора я получаю странные символы, которые не находятся в файле XML но сгенерированный после разбора XML-файла.
Как эти символы:
перед разбором после разбора
können ---> können
rückläufig ---> rückläufig
gewährleisten --- > gewährleisten
Кто-нибудь может предложить правильный способ исправить эту проблему?
вы можете предложить мне, где я должен использовать эту строку кода в своих abov e GermanParseActivity class ... Спасибо – user755278
Вокруг вашего 'System.out.println (« Этот XML = =========>> + XML); 'line. Где вход и выход являются переменными XML. – rekire
Спасибо большое, что это сработало для меня ... я блуждал с давних времен, и есть много людей, которые ищут одно и то же. И вы дали самый простой ответ когда-либо в отличной манере. Спасибо вам, rekire .. Ура !! – user755278