我有我运行查询的 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)
这主要取决于用例。
如果一般来说,SAX Parser有利于解析大文件和dom parser备用文件。
原因是dom parser在解析大文件/输入流时占用了足够的内存。
在我看来,它需要有一定程度的经验才能最好地利用 Sax Parser。相比之下,dom解析更容易学习和使用。
或者 Apaches commons-digester可以是替代建议,如果用例允许,与 sax 相比更容易并在内部使用 sax。
并且xpath不是解析器。
对于您的情况,您不需要解析器。我认为您正在寻找使用 xpath 检索 sql 查询的方法xpath。
如果您需要为您的简单生成一个新的 xml,您xml可以手动完成。我现在不能建议任何更好的选择。