Java中的lxml替代方案?

时间:2013-04-24 18:25:13

标签: java python lxml

我一直在广泛使用lxml来开发algos。但是现在,由于performance问题,我必须迁移到Java。道德是,我可以找到像Java中的lxml dom解析器一样棒吗?

>关键要求:

  

1)像text_content()这样的功能    2)iterchildren和    3)iterparent()和itersiblings()---(如果xpath在那里,我想我们可以    做这样的遍历,不确定)。

Jsoup在那里很有名,但不确定是否一切都可以完成。我只想移植不重写的算法。请建议。

感谢。

为什么选择Java: 我正在做复杂的nlp和dom解析任务。 Python是第一选择并且将保留。编写c扩展是一回事,执行复杂的nlp任务是另一回事,合并两个是另一回事。因此Java。没什么冒犯的。

2 个答案:

答案 0 :(得分:1)

在我看来,撒克逊是你最好的选择http://saxon.sourceforge.net。在这里下载的saxon-resources9-4.zip中可以找到一堆例子:http://sourceforge.net/projects/saxon/files/Saxon-HE/9.4/就像xpath表达式一样:

    XPathExpression findLine =
        xpe.compile("//LINE[contains(., $word)]");
    XPathExpression findLocation =
        xpe.compile("concat(ancestor::ACT/TITLE, ' ', ancestor::SCENE/TITLE)");
    XPathExpression findSpeaker =
        xpe.compile("string(ancestor::SPEECH/SPEAKER[1])");

答案 1 :(得分:0)

xerces非常适合xml。您可以通过JAXP使用xerces。