我有 xsi:nil="true" 在我的肥皂要求中。这是什么意思?我该如何实现价值?

任何帮助都将受到赞赏

有帮助吗?

解决方案

要删除它,将soap ::数据对象设置为arrayref而不是undef。假设您将字段1作为键,那么肥皂数据对象看起来像:

*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