0

我正在尝试使用 jax-b 插件将我的 xsd 文件转换为 java 对象(该插件读取我的 xsd 文件并将它们转换为模型)。因为我有两个带有请求和响应模式的 xsd。

在这两种模式中,我都有相同的根元素名称,即 XML。有人建议我不要创建绑定文件来克服同名冲突,而是在两个 xsd 上使用不同的名称。

我应用了更改。但是,当我的 jax-b 进行编组和解组时,它会转换为我提供的新名称。

例子:

要求

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
      <xs:element name="RequestXML"> 
</xs:schema>

回复

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
      <xs:element name="ResponseXML"> 
</xs:schema>

通过 Jax-b 插件它创建了我:

@XmlRootElement(name = "RequestXML")
public class RequestXML


@XmlRootElement(name = "ResponseXML")
public class ResponseXML

编组

<RequestXML>
    <HEADER></HEADER>
    <CUSTOMER></CUSTOMER>
</RequestXML> 

但是我的要求应该是

<XML>
    <HEADER></HEADER>
    <CUSTOMER></CUSTOMER>
</XML>

请建议我解决方案。创建对象时可以使用绑定吗?我不想手动将 rootElement 名称更改为 XML

请回复

4

0 回答 0