1

我必须从从 web 服务获取的 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;

此行为会导致产品列表出现问题(产品 ID 关联到错误名称)。

我该如何解决?

4

0 回答 0