我必须从从webservice获取的XML中检索数据。
我使用SAX解析器,如下所示:
URL url = new URL(webservice_url);
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
NewsHandler handler = new NewsHandler();
xr.setContentHandler(handler);
xr.parse(new InputSource(url.openStream()));
Xml文件:
<?xml version="1.0" encoding="ISO-8859-1"?>
<offerte_prodotti>
<num_pagine>154</num_pagine>
<product>
<id>6284</id>
<nome>Product description</nome>
<immagine>http://www.ownservercgi.com/images/cgi012548.jpg</immagine>
<euro>27.00</euro>
<scadenza>24/06/2014</scadenza>
<sconto>50%</sconto>
</product>
</offerte_prodotti>
在应用程序中,我使用SAX进行所有XML解析器操作,并且使用相同的代码可以正常工作。 这一次,它给了我一个错误:
org.apache.harmony.xml.ExpatParser$ParseException: At line 1, column 3292: not well-formed (invalid token)
at org.apache.harmony.xml.ExpatParser.parseFragment(ExpatParser.java:515)
我认为我是一个特殊的字符问题,但其他活动中的其他方法使用我发布的代码很有效。
是XML文件问题吗?或者我可以通过代码解决它吗?
答案 0 :(得分:0)
XML格式不正确 - 具体而言,开放的“offerte_prodotti”元素未关闭。 XML 应该
<?xml version="1.0" encoding="ISO-8859-1"?>
<offerte_prodotti>
<num_pagine>154</num_pagine>
<product>
<id>6284</id>
<nome>Product description</nome>
<immagine>http://www.ownservercgi.com/images/cgi012548.jpg</immagine>
<euro>27.00</euro>
<scadenza>24/06/2014</scadenza>
<sconto>50%</sconto>
</product>
</offerte_prodotti>