解析XHTML错误

时间:2013-07-27 22:11:20

标签: java xml parsing dom xhtml

我目前正在尝试学习如何解析XML和HTML。我能够使用当前代码解析slickdeals XML feed,但是当我尝试解析slickdeals的首页时遇到了错误

  

[致命错误]:102:23:实体名称必须紧跟“&”在实体参考中。   线程“main”org.xml.sax.SAXParseException中的异常:实体名称必须紧跟'&'在实体参考中。       在com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:246)       at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:284)       在javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:124)

public class SlickDealMainPage {

public void parsing() throws Exception{
    String url = "http://slickdeals.net/";
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
    DocumentBuilder db = dbf.newDocumentBuilder();
    Document doc = db.parse(new URL(url).openStream());
    doc.getDocumentElement().normalize();

    //System.out.println("Root Element : " + doc.getDocumentElement().getNodeName());

    System.out.println("Root Element : " + doc.getElementsByTagName("Body"));


    NodeList itemList = doc.getElementsByTagName("body");



   /* for(int temp = 0; temp < itemList.getLength(); temp++)
    {
        Node itemNode = itemList.item(temp);

        System.out.println("\nCurrent Element : " + itemNode.getNodeName());

        Element itemElement = (Element) itemNode;

        System.out.println("\ntitle : " + itemElement.getElementsByTagName("title").item(0).getTextContent());
        System.out.println("\nLink : " + itemElement.getElementsByTagName("link").item(0).getTextContent());
        System.out.println("\nDate Published: " + itemElement.getElementsByTagName("pubDate").item(0).getTextContent());
    }*/

}

}

我是使用DOM方法进行解析的新手,我已经遍地搜索了这个问题的答案。但是,我确实非常了解其他答案。

编辑:错误发生在

    Document doc = db.parse(new URL(url).openStream());

感谢您的帮助!

0 个答案:

没有答案