我处理一组二进制文件并为每个文件生成一个树(因为它们本质上是分层的)。我想使用XPath来搜索和选择文件中的节点,并且不想编写我自己的XPath引擎。 XPath查询将在运行时提供。
我也不想通过实现dom接口来浪费我的时间,只是为了发现XPathExpression会阻塞或者我也必须实现XPathExpression。
我真的不想编写自己的XPath引擎。
答案 0 :(得分:0)
实现DOM接口是一种简单易用的解决方案。我很惊讶地发现它有效!事实证明,只要你提供实现接口的东西,Java的XPath库就不在乎了。您甚至不需要实现大多数方法。您只需要实现(某些)getter,其他所有内容都可以抛出未实现或只读的异常。
对于将来阅读本文的人,您应该实现完整的界面,然后使用这些方法来构建树。原因是,设置兄弟姐妹和父母关系是丑陋的。无论如何,你将不得不编写代码,也可以把它放在正确的位置。