我必须从从webservice获取的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>
Handler代码段:
..
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连接,某些项目会被拆分并重复。
e.g。
WiFi行为:
Product name: Special snack 30gr chocolate
3G行为:
Product Name: Special sna;
Product Name: Special snack 30gr chocolate;
此行为会导致产品列表出现问题(与错误名称关联的产品ID)。
我该如何解决?