V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
purensong
V2EX  ›  Java

有关 xpath 用 antlr 解析的问题

  •  
  •   purensong · 2016-11-21 12:49:08 +08:00 · 2308 次点击
    这是一个创建于 2927 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    4 条回复    2016-11-25 10:19:04 +08:00
    stamaimer
        1
    stamaimer  
       2016-11-21 13:07:40 +08:00 via iPhone
    不知道 antlr 是啥, xpath 肯定能解析 xml ,不然你以为他发明出来是干嘛的。
    purensong
        2
    purensong  
    OP
       2016-11-21 14:38:29 +08:00
    @stamaimer 我知道,但是用 antlr 去解析 xpath 的路径表达式生成语法树,然后操纵语法树去查找节点。这样我可以把 xpath 用到 java 代码中
    Miy4mori
        3
    Miy4mori  
       2016-11-21 19:28:04 +08:00 via Android
    既然用 java 解 xml ,那么 dom4j 应该是比较流行的方案,并且支持 xpath
    purensong
        4
    purensong  
    OP
       2016-11-25 10:19:04 +08:00
    @Miy4mori 我想要的效果是,输入类似"//bookstore//book[1]"等一连串的查询语言,解析成一步步的命令然后 concat 起来,达到类似 jquery 这样的查询效率。 $("bookstore").("book")...。一连串的输入解析成了查找 Bookstore 节点下的第一个 book 节点。查找 bookstore 对应了查找节点的指令,查找 book 对应了查找子节点的指令, [1] 对应了获取子节点的第一个指令。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1022 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:52 · PVG 04:52 · LAX 12:52 · JFK 15:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.