Я пытаюсь разобрать XML-файл, который я получаю, введя URL-адрес этого XML-файла в качестве параметра в моей функции doInBackground. Теперь я вызываю эту функцию 2 раза.Ошибка анализа XML-XML
Во время первого звонка он работает нормально.
Во время второго называют это дает мне ошибку синтаксического анализа:
08-16 23:49:20.823 27735-28009/be.project.randomreader W/System.err﹕ org.xml.sax.SAXParseException: Unexpected token (position:TEXT {"success":{"[email protected]:210 in [email protected])
Есть ли у него что-то делать с «?» знак и знак «=» в моем URL-адресе?
Как я могу изменить свой код для решения этой проблемы?
//first call:
ArrayList<String> url= new ArrayList<String>();
url.add("http://api.theysaidso.com/qod.xml");
url.add("");
new DownloadXML().execute(url);
//second call after a click event:
ArrayList<String> url= new ArrayList<String>();
url.add("http://api.theysaidso.com/");
url.add("qod?category=" + random);
new DownloadXML().execute(url);
private class DownloadXML extends AsyncTask<ArrayList<String>,Void,ArrayList> {
@Override
protected ArrayList doInBackground(ArrayList<String>... url) {
try {
ArrayList<String> urlLijst = url[0];
String query = URLEncoder.encode(urlLijst.get(1), "utf-8");
String url1 = urlLijst.get(0) + query;
URL url2 = new URL(url1); //.toString()
URLConnection conn = url2.openConnection();
DocumentBuilderFactory factory = documentBuilderFactor.get();
DocumentBuilder parser = factory.newDocumentBuilder();
Document doc = parser.parse(conn.getInputStream());
parser.reset();
NodeList nodes = doc.getElementsByTagName("quotes");
for (int i = 0; i < nodes.getLength(); i++) {
Element element = (Element) nodes.item(i);
NodeList title = element.getElementsByTagName("quote");
Element quote = (Element) title.item(0);
lijstQuotes.add(quote.getTextContent());
}
for (int i = 0; i < nodes.getLength(); i++) {
Element element = (Element) nodes.item(i);
NodeList title = element.getElementsByTagName("author");
Element author = (Element) title.item(0);
lijstQuotes.add(author.getTextContent());
}
}
}
}
показать данные XML, которые вы разобрали –
Укажите, пожалуйста, полный URL-адрес, который вы пытаетесь использовать. Поскольку это разные URL-адреса, вы используете –
http://api.theysaidso.com/qod.xml: РАБОТЫ http://api.theysaidso.com/qod?category=management: DOESNT WORK – MrSpokes