手动构建XML文档或实现dom接口或......?

时间:2016-04-21 03:05:19

标签: java xml dom xpath

我处理一组二进制文件并为每个文件生成一个树(因为它们本质上是分层的)。我想使用XPath来搜索和选择文件中的节点,并且不想编写我自己的XPath引擎。 XPath查询将在运行时提供。

  • 尝试为构成我的树的类(使它看起来像是一个XML文档)实现dom接口是否有意义?这样我就可以尝试将我的小型XML文档提供给XPathExpression。
  • 我应该只是编写子弹并实现我自己的XPath引擎,它将只是工作'在我的课上?
  • 我应该只手动构建XML文档并支付toString成本吗?
  • 或者是否有一些非常简单的方法将我的二进制文件解析为XML,我完全错过了解析和快速执行XPath查询?

我也不想通过实现dom接口来浪费我的时间,只是为了发现XPathExpression会阻塞或者我也必须实现XPathExpression。

我真的不想编写自己的XPath引擎。

1 个答案:

答案 0 :(得分:0)

实现DOM接口是一种简单易用的解决方案。我很惊讶地发现它有效!事实证明,只要你提供实现接口的东西,Java的XPath库就不在乎了。您甚至不需要实现大多数方法。您只需要实现(某些)getter,其他所有内容都可以抛出未实现或只读的异常。

对于将来阅读本文的人,您应该实现完整的界面,然后使用这些方法来构建树。原因是,设置兄弟姐妹和父母关系是丑陋的。无论如何,你将不得不编写代码,也可以把它放在正确的位置。