Java-XStream

XStream映射到javabean时,其中调用addImplicitCollection隐式集合不管用,还是显示以集合名字命名的节点名... XStream映射到java bean时,其中调用addImplicitCollection隐式集合不管用,还是显示以集合名字命名的节点名 展开
 我来答
我叫凡小客
2014-08-27 · TA获得超过505个赞
知道小有建树答主
回答量:137
采纳率:50%
帮助的人:84.9万
展开全部

只需要隐式调用即可,不需要把集合名称写成节点名称。

 xStream.alias("patientRole", PatientRole.class);
 xStream.alias("id", RootExtension.class);
 xStream.addImplicitCollection(PatientRole.class, "ids");
 
 //这是XML文件,patientRole 标签有有两个id节点,名字一样,所以要用集合
 <patientRole classCode="PAT">
<!--患者健康档案号-->
<id root="2.16.156.10011.1.2" extension="@患者健康档案号N17"/>
<!--患者健康卡号-->
<id root="2.16.156.10011.1.19" extension="@患者健康卡号 同身份证号AN..18"/>
<!--患者家庭地址-->
<addr use="H">
<houseNumber>@地址-房屋号码</houseNumber>
<streetName>@地址-街道</streetName>
<township>@地址-镇</township>
<county>@地址-区</county>
<city>@地址-市</city>
<state>@地址-省</state>
<postalCode>@邮政编码</postalCode>
</addr>
<!--患者电话-->
<telecom value="@患者电话"/>
</patientRole>
//下面是patientRole节点对象中定义的属性
private String classCode;
private List<RootExtension> ids = new ArrayList<RootExtension>();
private Address addr = new Address();
private Value telecom = new Value();

解析出来没问题,有什么不懂的可以再问我

追问
我上面给的代码是隐式调用的,addImplicitCollection这个方法,问题是我这样写了,集合还是作为一个节点出现,就是下图选中这个节点,在上图中我写的隐式集合
追答
你看看你的对象里面的集合属性是怎么定义的,能不能给我你的代码,我可以给你修改一下,或者你贴出来你的代码,贴的全一点
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式