从希伯来新闻网站解析Rss提要

时间:2014-09-05 10:59:46

标签: xml rss

我正在构建一个解析以色列新闻网站(希伯来语)的新闻应用程序,我不断收到此错误" org.apache.harmony.xml.expatparser $ parseexception在第1行第17列格式不正确(无效令牌) )" 现在我知道问题在于编码... rss feed中的编码是" Windows-1255", rss feed" view-source:http://www.ynet.co.il/Integration/StoryRss2.xml" 我试过了:

    SAXParserFactory spf = SAXParserFactory.newInstance();
    SAXParser sp = spf.newSAXParser();
    RssHandler rh = new RssHandler();
    input= new InputSource(new StringReader(feed));
    input.setEncoding("Windows-1255");
    sp.parse(input, rh);

但它不起作用...... 请帮我 ! 感谢

1 个答案:

答案 0 :(得分:0)

你是如何读取字符串的提要的? xml可能在那里打破了,因为这似乎在我的Linux机器上没有错误(默认情况下是UTF8 charset)和Oracle的Java 8:

    SAXParserFactory spf = SAXParserFactory.newInstance();
    try {
        SAXParser sp = spf.newSAXParser();
        InputSource input = new InputSource(new URL("http://www.ynet.co.il/Integration/StoryRss2.xml").openStream());
        sp.parse(input, new DefaultHandler() {
            @Override
            public void startElement(String uri, String localName, String qName,
                    Attributes attributes) throws SAXException {
                System.out.print(qName + ": ");
            }
            @Override
            public void characters(char[] ch, int start, int length) throws SAXException {
                System.out.print(new String(ch, start, length));
            }
        });
    } catch (Exception e) {
        e.printStackTrace();
    }

“org.apache.harmony.xml.expatparser $ parseexception”..您使用的是Apache Harmony吗?这是一个过时的Java实现,如果可能的话,尝试更新到更新的东西。我还建议使用Rome来阅读RSS Feed。