XMLを解析するためにapache JXPathライブラリを使用しています。XPathの評価と同様の機能を実行するJXPathでAPIを見つけようとしています。つまり、xpath式が存在するかどうかを確認しますか? 次の行で似ています
<xsl:when test="
xslt を使用する場合。XPathを使用して同様に行うことができます
XPathFactory xpathFactory = XPathFactory.newInstance();
XPath xpath = xpathFactory.newXPath();
InputSource source = new InputSource(new StringReader(xml));
status = xpath.evaluate("/resp/status/solution", source);
ソリューションが存在しない場合、ステータスは null として返されます。現在、JXPath を使用している間、同様の行で API を理解できません。これが私のサンプルコードです
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
DocumentBuilder bld = dbfactory.newDocumentBuilder();
ドキュメント metaDoc = bld.parse(in);
JXPathContext metaCtx = JXPathContext.newContext(metaDoc);
ノード node = (ノード)metaCtx.selectSingleNode("/resp/status/solution");
これにより、「JXPathNotFoundException: No value for xpath」がスローされます。実装固有のロジックについては、式がデータを返さない場合や存在しない場合は、if-else ブロックを配置する必要があります。
これに関する任意のポインタは高く評価されます。
ありがとう