我正在尝试在 XSD 中创建一个内部元素来呈现不同类型的 XML
所以预期的 XML 结构将是这样的:
<root>
<something>
<specificName> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> etc </specificName>
</something>
</root>
当我使用xs:any时,生成的Java类包含这个
我希望元素的 name 是 specified,但可以是任何类型。
问题是我尝试在“any”元素中设置的每个元素都是附加,而不是设置,创建此 XML 结构:
<root>
<something>
<any> <?xml version="1.0" encoding="UTF-8" standalone="yes"?> etc </any>
</something>
</root>
我想要其中一个:
PS:我知道 xs:anyType 解决了这个问题,但我想特别表明,我将在宽松的进程上下文中为该元素使用任何命名空间
基本上你自己回答了。您需要一个包含 any:
的元素public class SpecificName {
@XmlAnyElement(lax = true)
private Object any;
...
}
public class Something {
@XmlElement
private SpecificName specificName;
...
}
请注意,如您的示例所示,拥有第二个 XML 声明是行不通的。