XPath 1.0 对 JAXB 对象的查询?

2022-01-19 00:00:00 xpath java jaxb

JAXB 非常棒,可以真正节省时间,但遍历生成的对象树仍然非常耗时;几乎和直接使用 DOM 一样糟糕.

JAXB has been great, a real timesaver, but it's still really time consuming to traverse the resulting object trees; almost as bad as working directly with the DOM.

有没有一种方法可以让我在 JAXBElement 上执行 XPath 1.0 查询,而不必每次都煞费苦心地将文档编组到 DOM 模型和从 DOM 模型中提取出来?

Is there a way that I can do XPath 1.0 queries on a JAXBElement, without having to painstakingly marshal the document to and from a DOM model each time?

推荐答案

不直接,不.但是,您可以使用 Apache Commons Jxpath,它允许您跨任意对象图运行 XPath 查询,而不是只是 JAXB 绑定的.它可以在宽松"模式下运行,可以容忍空值.

Not directly, no. However, you can use Apache Commons Jxpath, which allows you to run XPath queries across arbitrary object graphs, not just JAXB-bound ones. It can be run in "lenient" mode, which is tolerant of nulls.

非常方便替换那些容易发生 NPE 的图形导航.

Extremely handy for replacing those NPE-prone graph navigations.

相关文章