gSOAP C与xml编码的联合

时间:2017-04-06 07:43:33

标签: c xml gsoap

我使用gSoap 2.8.44中的soapcpp2工具生成C到XML编码器 我对soapcpp2的输入是一个h文件:

union U_u
{
        int i;
        int j;
        int k;
};

struct A_t {
        int choice_type;
        int __union_choice_type;
        union U_u choice;
};

运行soapcpp2 -c并在链接我的测试代码后,我将编码的xml作为

<A-t>
   <choice-type>1</choice-type>
   <i>0</i>
</A-t>

为什么xml中缺少union元素名称? 我期待着这个:

<A-t>
    <choice-type>1</choice-type>
    <choice>
      <i>0</i>
    </choice>
</A-t>

是否可以选择在xml中包含联合名称?

1 个答案:

答案 0 :(得分:0)

联合提供了一系列元素,因此<i><j><k>中的一个将以XML格式显示。

如果您希望这些是<choice>的子元素,请使用:

struct A_t {
    int choice_type;
    struct A_t_choice {
        int __union_choice_type;
        union U_u choice;
    } choice;
};