我有 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>
最佳答案
这主要取决于用例。
如果一般来说,SAX Parser
适合解析大文件,而 dom parser
则适合解析替代文件。
原因是 dom 解析器
在解析大文件/输入流时最终占用了足够的内存。
在我看来,需要有一定的经验才能最好地利用 Sax Parser。相对而言dom解析更容易学习和使用。
或者 Apache commons-digester如果用例允许,可以是替代建议,这比 sax 更容易并且在内部使用 sax。
并且 xpath
不是解析器。
对于您的情况,您不需要解析器。我认为您正在寻找 xpath 来使用 xpath
检索 sql 查询。
如果您需要为简单的 xml
生成新的 xml,您可以手动执行此操作。我现在无法建议任何更好的替代方案。
关于java - : SAX, DOM 或 xpath 哪个解析器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11760164/