哪个解析器:SAX、DOM 或 xpath?

Jav*_*a P 0 java xml

我有我运行查询的 xml,如下所述。哪个解析器(sax 或 DOM 或 xpath)最适合通过 id 检索查询节点?

您能否用一些示例代码向我解释这一点,以便这对我有很大帮助?

我想编写一个通用类,它通过 id 读取查询并将参数传递给它。由于每个查询都可能返回一组不同的值,因此在我们执行查询后返回值的最佳方法是什么?

<?xml version="1.0" encoding="UTF-8"?>
<queries>
    <query id="getUserByName">
        select * from users where name=?
    </query>
    <query id="getUserByEmail">
        select * from users where email=?
    </query>
</queries>
Run Code Online (Sandbox Code Playgroud)

Kow*_*ser 5

这主要取决于用例。

如果一般来说,SAX Parser有利于解析大文件和dom parser备用文件。

原因是dom parser在解析大文件/输入流时占用了足够的内存。

在我看来,它需要有一定程度的经验才能最好地利用 Sax Parser。相比之下,dom解析更容易学习和使用。

或者 Apaches commons-digester可以是替代建议,如果用例允许,与 sax 相比更容易并在内部使用 sax。

并且xpath不是解析器。


对于您的情况,您不需要解析器。我认为您正在寻找使用 xpath 检索 sql 查询的方法xpath

如果您需要为您的简单生成一个新的 xml,您xml可以手动完成。我现在不能建议任何更好的选择。