我一直在广泛使用lxml来开发algos。但是现在,由于performance问题,我必须迁移到Java。道德是,我可以找到像Java中的lxml dom解析器一样棒吗?
>关键要求:
1)像text_content()这样的功能 2)iterchildren和 3)iterparent()和itersiblings()---(如果xpath在那里,我想我们可以 做这样的遍历,不确定)。
Jsoup在那里很有名,但不确定是否一切都可以完成。我只想移植不重写的算法。请建议。
感谢。
为什么选择Java: 我正在做复杂的nlp和dom解析任务。 Python是第一选择并且将保留。编写c扩展是一回事,执行复杂的nlp任务是另一回事,合并两个是另一回事。因此Java。没什么冒犯的。
答案 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)