может я не вижу. Я использую xpppullpullparser.
Этот код запускает XmlPullparser и считывает XML-данные из HTTP-потока. (Поток работает, я проверял)
Строка _текст = "";
try {
// Startet den XML Leser
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = factory.newPullParser();
try {
// Startet die Connection, um XML Daten zu bekommen
URL _url = new URL(url[0]);
HttpURLConnection con = (HttpURLConnection) _url.openConnection();
_text = readStream(con.getInputStream());
// Setzt xml auf Input an
xpp.setInput(new StringReader(_text));
readXML(xpp);
Теперь вот функция readXML. Он должен разобрать XML в объект WeatherData. (Не важно, что такое WeatherData, потому что синтаксический анализ не работает)
private weatherData readXML(XmlPullParser xpp)
{
weatherData _result = new weatherData();
try {
int _eventType = xpp.getEventType();
String _name;
while (_eventType != xpp.END_DOCUMENT) {
_name = xpp.getName();
if (_name == null)
Log.i("i", "Tja, null...");
if (_name.equals("city") && _eventType == xpp.START_TAG)
{
int _id = Integer.parseInt(xpp.getAttributeValue("", "id"));
Log.i("_id", new Integer(_id).toString());
}
xpp.next();
_eventType = xpp.getEventType();
}
}
catch (Exception e)
{
Log.e("i", "exception: " + e.getMessage() + " " + e.getLocalizedMessage());
}
return _result;
}
xpp.getName() просто дает мне пустую строку. Есть идеи, почему?