Я пытаюсь проанализировать xml-файл, используя SAX с Android, и проблема в том, что символы функции (...) вызывают несколько раз, при этом, как представляется, одни и те же данные просто смещаются на несколько символов.
Как видно из приведенного ниже вывода, первый раз он вызывается с "\ talabama", а второй раз - с "labama".Я не уверен, почему он это делает, но если бы кто-нибудь мог помочь, это было бы здорово.
XML-ввод:
<?xml version="1.0" encoding="utf-8"?>
<dir><name>.</name>
<dir><name>alabama</name>
<dir><name>sub_dir_name</name>
<file><name>file_name.kml</name></file>
</dir>
</dir>
</dir>
Вывод символов (...):
10-27 23:04:47.033: DEBUG/LocationHandler(10299):
10-27 23:04:49.000: DEBUG/LocationHandler(10299): alabama
10-27 23:04:51.835: DEBUG/LocationHandler(10299): labama
10-27 23:04:52.129: DEBUG/LocationHandler(10299): labama abama
10-27 23:04:52.408: DEBUG/LocationHandler(10299): labama abamasub_dir_name
10-27 23:04:52.519: DEBUG/LocationHandler(10299): ub_dir_name
10-27 23:04:52.649: DEBUG/LocationHandler(10299): ub_dir_name _dir_name
10-27 23:04:52.809: DEBUG/LocationHandler(10299): ub_dir_name _dir_namefile_name.kml
10-27 23:04:52.989: DEBUG/LocationHandler(10299): ile_name.kml
10-27 23:04:53.158: DEBUG/LocationHandler(10299): ile_name.kml le_name.kml
10-27 23:04:53.358: DEBUG/LocationHandler(10299): le_name.kml
10-27 23:04:53.529: DEBUG/LocationHandler(10299): le_name.kml le_name.kml
10-27 23:04:53.698: DEBUG/LocationHandler(10299): le_name.kml
Овериды обработчиков:
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException
{
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException
{
_currentElementValue = "";
}
@Override
public void characters(char[] ch, int start, int length) throws SAXException
{
_currentElementValue += new String(ch);
Log.d(TAG, _currentElementValue);
}