2012-02-16 3 views
0

JavaアプリケーションでSOAPリクエストの結果として受け取るxml応答を解析する問題があります。正確な名前空間を知らずに汎用XMLファイルを解析する

要求は処理され、応答はxmlファイルであり、その名前空間は時々変更される傾向がありますが、名前空間に続くタグ名は変更されません。

たとえば、タグは 'status'が何らかの原因で変更されず、名前空間接頭辞 'xxx'だけが変更されます。

したがって、クエリーはネームスペース( 'xxx')の詳細を知らなくてもタグ値を取得できますか?事前に

感謝..

答えて

0

名前空間は、URIが変更されない場合は、しかし、あなただけの/ Sのようなもののために(あなたのXPathにURIを追加することができない接頭辞:封筒/ S:ボディ/ NS1: someContentElement):

/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Envelope']/*[namespace-uri()='http://schemas.xmlsoap.org/soap/envelope/' and local-name()='Body']/*[namespace-uri()='http://service.example.com/' and local-name()='someContentElement'] 

リトル長ったらしいが、変更する名前空間接頭辞

を回避します