質問

私は持っている xsi:nil="true" 私の石鹸のリクエストで。どういう意味?どうすればそれに値を渡すことができますか?

どんな助けも感謝しています

役に立ちましたか?

解決

削除するには、soap :: data object to arrayrefにundefの代わりに値を設定します。あなたがあなたのキーとしてfield1を持っているとしましょう、そして、石鹸データオブジェクトは次のようになります:

*bless( {
     '_name' => 'Field1',
     '_signature' => [],
     **'_value' => [
                   undef
                 ],**
     '_prefix' => 'm',
     '_attr' => {
                  'id' => '1219615'
                }
 }, 'SOAP::Data' )*

そして、結果のXMLは次のとおりです。 <m:field1 xsi:nil = true id = "1219615" /> 今、あなたがオブジェクトを変更する場合:

*bless( {
     '_name' => 'Field1',
     '_signature' => [],
     **'_value' => [],**
     '_prefix' => 'm',
     '_attr' => {
                  'id' => '1219615'
                }
}, 'SOAP::Data' )*

目的の出力を取得します <m:field1 id = "1219615" />. 。解決策はPerlにあります。

他のヒント

nillable属性は、属性がオンになっている要素が存在するが、に似ている値がないことを示します NULL ほとんどのプログラミング言語で。

要素に値を割り当てたい場合は、そうすることができますが、削除する必要があります xsi:nil 最初に属性、それ以外の場合、エラーが発生します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top