Android - XMLParser SAX - xml格式不正确

时间:2014-06-18 16:20:00

标签: android xml saxparser

我必须从从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文件问题吗?或者我可以通过代码解决它吗?

1 个答案:

答案 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>