最简单的例子 - 如何使用java解析使用saxon的html?

时间:2016-07-15 08:41:14

标签: java saxon

有人可以说,为什么下面的代码没有给出任何结果? 当然html是有效的,有很多" div"元件。

    Processor proc = new Processor(false);
    proc.setConfigurationProperty("http://saxon.sf.net/feature/sourceParserClass", "org.ccil.cowan.tagsoup.Parser");
    XPathCompiler xpath = proc.newXPathCompiler();

    DocumentBuilder builder = proc.newDocumentBuilder();
    XdmNode doc = builder.build(new File("/tmp/test.html"));

    XPathSelector selector = xpath.compile("//div").load();
    selector.setContextItem(doc);

    for (XdmItem item : selector)
    {
        System.out.println(((XdmNode)item).getNodeName());
    }

我从撒克逊样本中获取了该代码并添加了" proc.setConfigurationProperty ..."为了解析html输入。

我想要的只是:
1)提交html字符串
2)获取文档节点
3)使用xpath v3进行一些查询

谢谢。
附:我不想使用xslt。

1 个答案:

答案 0 :(得分:0)

更改" // div" to" // * [name()=" div"]"解决了这个问题。