我必须从从 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 关联到错误名称)。
我该如何解决?