首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XStream元素包含TextNode和元素

XStream元素包含TextNode和元素
EN

Stack Overflow用户
提问于 2013-05-21 17:17:20
回答 1查看 408关注 0票数 0

我正在使用xstream解析XML,一切都很顺利……有一种情况,xstream似乎无法处理。

有一个名为"“的标签,但在不同的xml文件中,它可以包含文本节点或其他XML标签。

可以是这样的:

代码语言:javascript
复制
XML File 1:
<Spec> text Node Here </Spec>

XML File 2:
<Spec Id="1">
    <Tag1>value</Tag1>
    <Tag2>value</Tag2>
</Spec>

在Spec类中,我有这样的代码...

代码语言:javascript
复制
@XStreamAlias("Spec")
@XStreamConverter(value = ToAttributedValueConverter.class, strings = { "spec" })   //when Text Node
public class Spec
{
    String spec;        // text Node

    @XStreamAlias("Id")
    @XStreamAsAttribute
    String id;

    @XStreamAlias("Tag1")
    String tag1;

    @XStreamAlias("Tag2")
    String tag2;
    // getter and setter...
}

在XML文件1的情况下,它工作得很好,但是在XML文件2的情况下,字段"tag1“和"tag2”的值为空,字段"spec“的值如下:"\n\t\t”

如何处理这两个文件?提前感谢!

EN

回答 1

Stack Overflow用户

发布于 2013-05-22 14:09:22

是的,我已经解决了这个问题……但不是以一种好的方式。

将Spec类拆分为两个类:一个用于文本节点,另一个用于xml元素。

在解析不同的xml文件时,使用xstream.alias("Spec",Spec1.class);和xstream.alias("Spec",Spec2.class);来切换两种不同的格式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16666320

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档