我使用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中包含联合名称?
答案 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;
};