purensong
V2EX  ›  Java

有关 xpath 用 antlr 解析的问题

  •  
  •   purensong · Nov 21, 2016 · 2921 views
    This topic created in 3470 days ago, the information mentioned may be changed or developed.

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

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

    4 replies    2016-11-25 10:19:04 +08:00
    stamaimer
        1
    stamaimer  
       Nov 21, 2016 via iPhone
    不知道 antlr 是啥, xpath 肯定能解析 xml ,不然你以为他发明出来是干嘛的。
    purensong
        2
    purensong  
    OP
       Nov 21, 2016
    @stamaimer 我知道,但是用 antlr 去解析 xpath 的路径表达式生成语法树,然后操纵语法树去查找节点。这样我可以把 xpath 用到 java 代码中
    Miy4mori
        3
    Miy4mori  
       Nov 21, 2016 via Android
    既然用 java 解 xml ,那么 dom4j 应该是比较流行的方案,并且支持 xpath
    purensong
        4
    purensong  
    OP
       Nov 25, 2016
    @Miy4mori 我想要的效果是,输入类似"//bookstore//book[1]"等一连串的查询语言,解析成一步步的命令然后 concat 起来,达到类似 jquery 这样的查询效率。 $("bookstore").("book")...。一连串的输入解析成了查找 Bookstore 节点下的第一个 book 节点。查找 bookstore 对应了查找节点的指令,查找 book 对应了查找子节点的指令, [1] 对应了获取子节点的第一个指令。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2864 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 04:54 · PVG 12:54 · LAX 21:54 · JFK 00:54
    ♥ Do have faith in what you're doing.