我有一个XML文件:JAXB:我如何才能解组XML没有命名空间
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object>
<str>the type</str>
<bool type="boolean">true</bool>
</object>
而且我想它解组的类的对象下面
@XmlRootElement(name="object")
public class Spec {
public String str;
public Object bool;
}
我该怎么做?除非我指定名称空间(参见下文),否则它不起作用。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<object>
<str>the type</str>
<bool xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xsi:type="xs:boolean">true</bool>
</object>
感谢您的答复,布莱斯。拥有命名空间我很好。但是,在XML中是否有可能没有命名空间(因为它将面向开发用户),但是将这些信息与Java类注释保持一致,以便当jaxb解析XML时,它看到“type”并知道“aha,它是根据Java类声明命名空间'xsi'“。与“xs:boolean”相同。你看到我在说什么吗?或者它仍然不可能?我需要这个,因为我们的开发人员将创建这样的XML声明,我们需要将它们解组到Java。 – Andrey
@Andrey - 你可以做这个工作,下面是一个你可以做的解组方法。 –
嗨,Blaise。删除“type”属性的命名空间效果很好,感谢!!! !!!但我仍然可以如何删除“type”属性值 - “xs:boolean”的“xs”命名空间声明。我玩重写了一些StreamReaderDelegate方法,但没有成功。 – Andrey