2016-12-22 3 views
0

サードパーティのSOAP APIを使用しています。これにより、「ランダム」なXML結果が得られます。私がランダムに何を意味するのかを理解するために、以下のサンプルを見てください。org.w3c.dom.Documentの部分タグ名でElementを取得する方法Java

サンプル1:

<test1Interface> 
.... 
</test1Interface> 

サンプル2:

<test2Interface> 
.... 
</test2Interface> 

サンプル3:

を次のように私はその TagNameによって、この要素を取得しようとしている今

<test14Interface> 
.... 
</test14Interface> 

document.getElementsByTagName("test14Interface"); // Please assume that document is being initialized properly. 

TagNameは、実行しているさまざまなSOAPリクエストに対してさまざまな変更を行うため、上記のコードスニペットの一部のリクエストでは機能しません。サードパーティのSOAP APIを使用しているので、それを変更することはできません。

誰かが私にどのようにTagNameの部分によってDocumentから要素を得ることができますか?

+0

Uxe XPathでDOMをクエリしますか? –

+0

@ジムガリソン、迅速な対応に感謝します。 XPathで検索してみましょう。 – RAS

+0

参照ポイントとして使用できる安定した名前の他の要素はありますか? xpathで親や兄弟を見つけてそこからナビゲートする方が簡単かもしれません。 – teppic

答えて

0

Document.getChildNodesを使用して、必要に応じて任意のフィルタリングを実行できます。

更新2016-12-23:主にトップレベルの要素に適用されます。再帰的な検索は、ネストした要素に適用できます。幅広い最初の検索もオプションです。

+0

文書全体を走査して要素を検索しなければならないと言っていますか? – RAS

+0

いいえ、トップレベルの要素を取得する場合は、トップレベルを確認するだけです。私は、 'test1Interface'のような要素はその名前のために最上位の要素だと考えました。 – mm759

+0

ツリー全体をトラバースすることは、いくつかの行の再帰的なコードであってはなりませんが、私はXPathがツリー全体を検索する最初の候補であることに同意します。 – mm759

関連する問題