gSOAP C ++:nillable属性

时间:2015-10-16 09:04:03

标签: c++ gsoap

如何仅在单个元素上设置xsi:nil =“true”属性?使用runtime-flag“SOAP_XML_NIL”,我将全局设置它,因此它会影响每个属性。

谢谢

1 个答案:

答案 0 :(得分:0)

要在类/结构成员为NULL时自动将xsi:nil="true"添加到XML有效内容,您只需要根据需要注释该成员(使用1):

class ns__some_data
{
   public:
     int *some_member 1; // nillable pointer & element is marked as required
};

设置ns__some_data::some_member = NULL时,XML将具有xsi:nil属性,这是我认为您想要的:

<ns:some-data>
  <some-member xsd:nil="true"/>
</ns:some-data>

为确保按预期工作,您需要升级到最新版本的gSOAP(2.8.28或更高版本)。