有关 xpath 用 antlr 解析的问题

2016-11-21 12:49:08 +08:00
 purensong

xpath 在主流浏览器中都有实现,效率高于传统的 dom 查找节点的方式。

如果我在 java 中要用 xpath 去解析一个 xml ,可不可以用 xpath 的语法去解析呢。语法工具比如 antlr 。 不知道有没有人做过

2336 次点击
所在节点    Java
4 条回复
stamaimer
2016-11-21 13:07:40 +08:00
不知道 antlr 是啥, xpath 肯定能解析 xml ,不然你以为他发明出来是干嘛的。
purensong
2016-11-21 14:38:29 +08:00
@stamaimer 我知道,但是用 antlr 去解析 xpath 的路径表达式生成语法树,然后操纵语法树去查找节点。这样我可以把 xpath 用到 java 代码中
Miy4mori
2016-11-21 19:28:04 +08:00
既然用 java 解 xml ,那么 dom4j 应该是比较流行的方案,并且支持 xpath
purensong
2016-11-25 10:19:04 +08:00
@Miy4mori 我想要的效果是,输入类似"//bookstore//book[1]"等一连串的查询语言,解析成一步步的命令然后 concat 起来,达到类似 jquery 这样的查询效率。 $("bookstore").("book")...。一连串的输入解析成了查找 Bookstore 节点下的第一个 book 节点。查找 bookstore 对应了查找节点的指令,查找 book 对应了查找子节点的指令, [1] 对应了获取子节点的第一个指令。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/322052

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX