XSD 中的动态根元素封送处理失败

Dynamic root element marshaling failed in XSD

提问人:Deepak_5755 提问时间:10/26/2023 最后编辑:Deepak_5755 更新时间:10/26/2023 访问量:30

问:

我有下面的XML,

<?xml version="1.0" encoding="UTF-8" ?>
<META_1>
<row num="1"><symbol>ABC</symbol></row>
<row num="2"><symbol>XYZ</symbol></row>
</META_1>

我从中创建了 XSD,它已将 xmlrootelement 创建为“META1”

喜欢

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "META_1Type", propOrder = {
"rows"
})
@XmlRootElement(name = "META_1")
public class META_1 { 

当我使用上面的 xml 文件运行时,它可以正常工作/解析,但是当新的 XML 带有根元素更改如下时不起作用,

<?xml version="1.0" encoding="UTF-8" ?>
<META_2>
<row num="1"><symbol>ABC</symbol></row>
<row num="2"><symbol>XYZ</symbol></row>
</META_2>

从XML文件生成XSD时,有什么方法可以处理它。(借助 IntelliJ 的内置功能生成 XSD 文件)

尝试了其他 JAXB 动态绑定,但对我不起作用。期待任何相同的解决方案。

XSD XML 分析 封送处理

评论

0赞 jdweng 10/26/2023
您是否将 XMLType 更改为 META_2?
0赞 Deepak_5755 10/26/2023
不,每天我都会接收一个具有新根元素的新文件。因此,我无法为每个新的XML创建新的XSD。
0赞 jdweng 10/26/2023
类名和类型必须匹配。您为什么认为您正在创建一个新的 XSD?您没有架构(XSD 文件)。

答: 暂无答案