Xml 无法使用XJC仅限定xsd属性
我需要像这样生成XML:Xml 无法使用XJC仅限定xsd属性,xml,jaxb,xjc,Xml,Jaxb,Xjc,我需要像这样生成XML: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <advice_request xmlns="urn:xyz.com:bf:api:core:v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"> <instructions> <instruction i:type="advice_instructi
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<advice_request xmlns="urn:xyz.com:bf:api:core:v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<instructions>
<instruction i:type="advice_instruction_adjust">
<method>not_set</method>
<quantity>1</quantity>
<site_guid>abcd123</site_guid>
</instruction>
</instructions>
</advice_request>
但是,在编组对象时,我总是将XML作为:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<advice_request xmlns="urn:xyz.com:bf:api:core:v1">
<instructions>
<instruction type="advice_instruction_adjust">
<method>not_set</method>
<quantity>1</quantity>
<site_guid>abcd123</site_guid>
</instruction>
</instructions>
</advice_request>
未设置
1.
abcd123
如何使用“I”限定属性?非常感谢您的帮助
我尝试过多种方法,比如导入XMLSchema实例名称空间,显式地在marshaller上设置SCHEMA_位置(尽管这对我来说可能不是一个选项),但仍然没有任何结果
提前谢谢 您应该为您的
complexType
使用层次结构i:type=“advice\u instruction\u adjust”
表示有一个名为advice\u instruction\u adjust
的complextType
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:xyz.com:bf:api:core:v1"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
targetNamespace="urn:xyz.com:bf:api:core:v1"
elementFormDefault="qualified" attributeFormDefault="qualified">
<xsd:element name="advice_instruction_adjust" type="advice_instruction_adjust"/>
<xsd:complexType name="advice_instruction_adjust">
<xsd:complexContent>
<xsd:extension base="Instruction">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Instructions" type="Instructions"/>
<xsd:complexType name="Instructions">
<xsd:sequence>
<xsd:element name="instruction" type="Instruction" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Instruction" abstract="true">
<xsd:sequence>
<xsd:element name="method" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="quantity" type="xsd:int" minOccurs="1" maxOccurs="1"/>
<xsd:element name="site_guid" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
这里是一个XML示例
<?xml version="1.0" encoding="UTF-8"?>
<ns1:Instructions xmlns:ns1="urn:xyz.com:bf:api:core:v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<ns1:instruction i:type="advice_instruction_adjust">
<ns1:method />
<ns1:quantity/>
<ns1:site_guid/>
</ns1:instruction>
</ns1:Instructions>
您应该为您的
complexType
使用层次结构i:type=“advice\u instruction\u adjust”
表示有一个名为advice\u instruction\u adjust
的complextType
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns="urn:xyz.com:bf:api:core:v1"
xmlns:i="http://www.w3.org/2001/XMLSchema-instance"
targetNamespace="urn:xyz.com:bf:api:core:v1"
elementFormDefault="qualified" attributeFormDefault="qualified">
<xsd:element name="advice_instruction_adjust" type="advice_instruction_adjust"/>
<xsd:complexType name="advice_instruction_adjust">
<xsd:complexContent>
<xsd:extension base="Instruction">
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:element name="Instructions" type="Instructions"/>
<xsd:complexType name="Instructions">
<xsd:sequence>
<xsd:element name="instruction" type="Instruction" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="Instruction" abstract="true">
<xsd:sequence>
<xsd:element name="method" type="xsd:string" minOccurs="1" maxOccurs="1"/>
<xsd:element name="quantity" type="xsd:int" minOccurs="1" maxOccurs="1"/>
<xsd:element name="site_guid" type="xsd:string" minOccurs="1" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
这里是一个XML示例
<?xml version="1.0" encoding="UTF-8"?>
<ns1:Instructions xmlns:ns1="urn:xyz.com:bf:api:core:v1" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<ns1:instruction i:type="advice_instruction_adjust">
<ns1:method />
<ns1:quantity/>
<ns1:site_guid/>
</ns1:instruction>
</ns1:Instructions>
非常感谢,先生!!我对此并不熟悉,并假设“type”是一个属性。感谢您的及时回复。非常感谢,先生!!我对此并不熟悉,并假设“type”是一个属性。感谢您的及时回复。