我有xsi:nil="true"
我的肥皂请求。这是什么意思?我怎样才能传递价值呢?
任何帮助表示赞赏
nillable 属性表示该属性所在的元素存在但没有值,类似于NULL
大多数编程语言。
如果你想给元素赋值,你可以这样做,但是你必须先删除xsi:nil
属性,否则你会得到一个错误。
要删除它,请将 Soap::Data 对象中的值设置为 arrayref 而不是 undef。假设您将 Field1 作为您的键,那么 Soap Data 对象将如下所示:
*bless( {
'_name' => 'Field1',
'_signature' => [],
**'_value' => [
undef
],**
'_prefix' => 'm',
'_attr' => {
'id' => '1219615'
}
}, 'SOAP::Data' )*
如果您将对象更改为: < m:Field1 xsi:nil=true id="1219615" />现在生成的 xml 将是:
*bless( {
'_name' => 'Field1',
'_signature' => [],
**'_value' => [],**
'_prefix' => 'm',
'_attr' => {
'id' => '1219615'
}
}, 'SOAP::Data' )*
You will get the desired output < m:Field1 id="1219615" />. The solution is in perl.