私は JAXB オブジェクトで多くの作業を行う必要があり、値を取得するときに煩わしいことがあります。次の XML を取得したとします。
...
<a>
<b>
<c>1</c>
</b>
</a>
...
Java では、次のように要素 c の値に到達できます。
xml.getA().getB().getC()
ただし、要素が必須でない場合は、要素が null かどうかを確認する if 条件を多数実装する必要があります。
if (xml != null && xml.getA() != null && xml.getA().getB() != null && xml.getA().getB().getC() != null {
...
}
これらの恐ろしい if 条件を記述することを避けるために、JAXB オブジェクトで XPath を直接使用したいと考えています。似たようなツール (Apache JXPAth など) がいくつかあることは知っていますが、通常、これらのフレームワークはリフレクションを使用します。リフレクションはパフォーマンスに悪影響を与えるため、使用したくありません。残念ながら、リフレクションを使用せずに解決策を想像することはできませんが、おそらく 1 つあるでしょう。私たちを手伝ってくれますか?ありがとう、V.
org.w3c.dom.Document は XPath で使用できることがわかりましたが、次の問題は、再度マーシャリングせずに、注釈付き Web サービスで org.w3c.dom.Document を使用するにはどうすればよいかということです。(XML を必要以上にマーシャリングするのは少し心配です) ありがとうございます!