2017-12-16 3 views
-2

私はそれの一部を取得するよどこからSOAP応答を持っており、一部は

<ns4:discounts> 
     <ns4:discount code=‘ABC’ description=‘Hello World’ /> </ns4:discounts> 

ように見えるのthatsしかし、私に必要なのは(例えばwihout名前空間接頭辞)

以下れます
<discounts> 
     <discount code=‘ABC’ description=‘Hello World’ /> 
</discounts> 

xqueryまたはxpathを使用してこれを取得するにはどうすればよいですか?私がすでに触れたように、私はSOAPの応答(これはここには含まれていません)から割引の部分を得ています。

おかげさまで助けてください。

+0

このXMLを変換するためにどのような技術を使用していますか?基本的には、要素を再作成する必要があります。 – dirkk

+0

私は// * [ローカル名 –

+0

とXqueryを使用しています。どのXQueryプロセッサを使用していますか? – dirkk

答えて

0

入力ノードが名前空間にある場合、入力から単にノードを選択するクエリは、名前空間にあるノードを返すことになります。ネームスペースを持たないノードが必要な場合は、入力から変換を選択するのではなく、変換する必要があります。これはXQueryでは実行できますが、XPathでは実行できません。 (そして、XSLTではもっと簡単に行うことができます。)本来、ツリーの再帰的なトラバーサルによってXMLを再構成する必要があります。ここで古いノードの名前を変更して新しいノードを作成します。

+0

この出力を取得する方法を提案できますか?名前空間宣言。私は、

+0

あなたの補足的な質問を理解できません、申し訳ありません。要件が変更されていますか?とにかく今日はあなたのためにコードを書くのが忙しい。 –