我有一个Xml,我想将JAXB解组为Java类。每个班级都工作得非常好,除了班级"属性"其中包含"值"。我试图解组属性的值,它始终是一个不同的数据类型。有时值是String,有时是int或Double。我知道XML中有属性和元素,但是这个XML有一个实际的元素调用属性
<InstanceHierarchy Name="HMI">
<InternalElement Name="name" RefBaseSystemUnitPath="somepath/" ID="123-45">
<Attribute Name="Width" AttributeDataType="xs:Integer">
<Value>800</Value>
</Attribute>
</InternalElement>
</InstanceHierarchy>
Hier是我的类属性:
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "")
public class Attribute {
@XmlElement //here I have also tried @XMLValue
protected Value value;
@XmlAttribute(name = "Name")
protected String name;
@XmlAttribute(name = "AttributeDataType")
protected String attributeDataType;`
当我调试时,值始终为null(并且使用@XMLValue,值变量读取&#34; \ n \ t \ t \ t \ t&#34;)。
我必须事先说过我尝试了以下内容:
在属性类中,将Value定义为:
@XMLValue
protected String value;
我也试过@XMLElement并且仍然获得Value
的空值@XmlElement(required = true)
protected String value;
3.然后我决定创建一个Class&#34; Value&#34;并且以字符串形式仍然无法正常工作
有人可以帮助我从xml中获取价值吗?非常感谢你们!