Проблема с XML-анализатором Android 3G: строка результата разбита и дублирована

Я должен получить данные из XML, полученного от веб-службы.

Я использую SAX-парсер, как следует:

                URL url = new URL(this.pUrl);
                SAXParserFactory spf = SAXParserFactory.newInstance();
                SAXParser sp = spf.newSAXParser();
                XMLReader xr = sp.getXMLReader();
                ProductsHandler handler = new ProductsHandler();
                xr.setContentHandler(handler);
                InputSource is = new InputSource(url.openStream());
                is.setEncoding("ISO-8859-1");
                xr.parse(is);

Элемент XML:

<product>
    <id_product>4548</id_product>
    <name>Special snack 30gr chocolate</name>
    <price>15,00</price>
</product>

Фрагмент обработчика:

..
else if(localName.equals("name")){
            this.in_nome=true;
        }
..
else if(localName.equals("name")){
            this.in_nome=false;
        }
..
else if(this.in_name){
            xmlparsing.setNames(new String(ch , start , length));
        }

Когда я использую соединение WiFi, оно работает хорошо.

Если я использую соединение 3G, некоторые элементы разделяются и дублируются.

например

Поведение WiFi:

Product name: Special snack 30gr chocolate

3G поведение:

Product Name: Special sna;
Product Name: Special snack 30gr chocolate;

Такое поведение вызывает проблему в списке продуктов (идентификатор продукта связан с неправильным именем).

Как я могу решить это?

0 ответов

Другие вопросы по тегам