Мой внешний XML ужеНевозможно разобрать UTF-8 XML
<?xml version="1.0" encoding="UTF-8"?>
Однако, когда я пытаюсь разобрать его в моем приложении, он не читает Unicode на ВСЕ!
Вот что я сделал и до сих пор не повезло.
private class MyDownloadTask extends AsyncTask<Void,Void,Void>
{
String URL = context.getResources().getString(R.string.XML_database_url);
String KEY_ITEM = "item"; // parent node
String KEY_NAME = "name";
String KEY_COST = "location";
String KEY_DESC = "url";
ArrayList<RadioListElement> radioArray;
protected void onPreExecute(final ArrayList<String> userRadios) {
super.onPreExecute();
radioArray = new ArrayList<RadioListElement>();
MainActivity.getDataManager().loadStoredRadioStations(radioArray, userRadios);
}
protected Void doInBackground(Void... params) {
String xml = getXmlFromUrl(URL);
Document doc = getDomElement(xml);
NodeList nl = doc.getElementsByTagName(KEY_ITEM);
for (int i = 0; i < nl.getLength(); i++) {
Element e = (Element) nl.item(i);
String name = getValue(e, KEY_NAME);
String cost = getValue(e, KEY_COST);
String description = getValue(e, KEY_DESC);
radioArray.add(new RadioListElement(context, name, cost, description));
}
return null;
}
public Document getDomElement(String xml){
Document doc = null;
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
try {
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource(is,"UTF-8");
is.setCharacterStream(new StringReader(xml));
doc = db.parse(is);
} catch (ParserConfigurationException e) {
Log.e("Error: ", e.getMessage());
return null;
} catch (SAXException e) {
Log.e("Error: ", e.getMessage());
return null;
} catch (IOException e) {
Log.e("Error: ", e.getMessage());
return null;
}
// return DOM
return doc;
}
Я поставил UTF-8
здесь
InputSource is = new InputSource(is,"UTF-8");
Что я делаю неправильно? Как я могу сделать эту работу так, чтобы она отображала Unicode для меня?
Можете ли вы показать нам, откуда появился струнный XML? Это может пойти не так, потому что вам нужно также указать кодировку с помощью String. – cvesters
Имеет ли XML-файл набор символов байта Юникода? –
@cvesters xml не ошибается, так как довольно стандартно поставить заголовок, о чем я упоминал. – thevoipman