Java XStream元素包含TextNode和元素
我正在使用xstream解析XML,一切都很顺利,而。。。。 有一种情况xstream似乎无法处理 有一个名为“”的标记,但在不同的xml文件中,它可以包含文本节点或其他xml标记 它可以是这样的:Java XStream元素包含TextNode和元素,java,element,xstream,textnode,Java,Element,Xstream,Textnode,我正在使用xstream解析XML,一切都很顺利,而。。。。 有一种情况xstream似乎无法处理 有一个名为“”的标记,但在不同的xml文件中,它可以包含文本节点或其他xml标记 它可以是这样的: XML File 1: <Spec> text Node Here </Spec> XML File 2: <Spec Id="1"> <Tag1>value</Tag1> <Tag2>value</Ta
XML File 1:
<Spec> text Node Here </Spec>
XML File 2:
<Spec Id="1">
<Tag1>value</Tag1>
<Tag2>value</Tag2>
</Spec>
对于XML文件1,它可以正常工作,
但对于XML文件2,字段“tag1”和“tag2”的值为空,
字段“spec”的值类似于:“\n\t\t”
如何处理这两个文件?
提前谢谢 是的,我已经解决了这个问题。。。 但不是以一种好的方式 将等级库类拆分为2个类: 一个用于文本节点,另一个用于xml元素 在解析不同的xml文件时, 使用 别名(“Spec”,Spec1.class);和 别名(“Spec”,Spec2.class); 切换两种不同的格式
@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...
}