Java JAXB-umarshall异常
我是Jaxb新手,在解析简单XML时遇到问题。所讨论的XML如下所示:Java JAXB-umarshall异常,java,xml,jaxb,Java,Xml,Jaxb,我是Jaxb新手,在解析简单XML时遇到问题。所讨论的XML如下所示: <tables> <table id="1" > <schema>validator_test</schema> <name>test1</name> <rowCountToValidate>6</rowCountToValidate> <columnTypeC
<tables>
<table id="1" >
<schema>validator_test</schema>
<name>test1</name>
<rowCountToValidate>6</rowCountToValidate>
<columnTypeCheckRequired>FALSE</columnTypeCheckRequired>
<additionalColumns>column1,column2</additionalColumns>
</table>
<table id="2">
<schema>validator_test</schema>
<name>validate_external1</name>
<rowCountToValidate>2</rowCountToValidate>
<columnTypeCheckRequired>FALSE</columnTypeCheckRequired>
<additionalColumns>column1,column2</additionalColumns>
</table>
<table id="3">
<schema>validator_test</schema>
<name>Test_View1</name>
<rowCountToValidate>2</rowCountToValidate>
<columnTypeCheckRequired>FALSE</columnTypeCheckRequired>
<additionalColumns>column1,column2</additionalColumns>
</table>
</tables>
然而,我发现以下例外情况:-
`JAXB unmarshalling exception; nested exception is javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"tables"). Expected elements are <{tables}table>`
`JAXB解组异常;嵌套异常为javax.xml.bind.UnmarshalException:意外元素(uri:,local:“tables”)。预期的要素是`
如果有人能指出我所犯的错误,我将不胜感激。我对这一点还不熟悉,并不真正能够理解jaxb是如何工作的 您需要使用
@XmlRootElement(name=“Tables”)
创建类表
,该类必须包含表
字段,类型为表信息
当您解组示例xml时,您需要将
表
类传递给解组器。您需要使用@XmlRootElement(name=“Tables”)
创建类表
,并且该类必须包含类型为TableInfo
的字段
@XmlRootElement(name = "table")
<tables>
<table id="1" >
当您解组示例xml时,需要将表类传递给解组器。@XmlRootElement(name=“table”)
@XmlRootElement(name = "table")
<tables>
<table id="1" >
以下是针对上述问题的2种解决方案:
您需要使用XSD生成类
您需要根据所需的XML生成类:
在XML中,表位于表内部,所以表应该是根元素李>
并且表应该是表类中列表的形式。@XmlRootElement(name=“table”)
以下是针对上述问题的2种解决方案:
您需要使用XSD生成类
您需要根据所需的XML生成类:
在XML中,表位于表内部,所以表应该是根元素李>
表应该是tables类中列表的形式。在代码中,根元素是@XmlRootElement(name=“table”),而在XML文件中是“tables”
建议您使用xjc命令自动构建JavaPOJO类
xjc-d-p sample.xsd
-定义生成的类在文件系统中的存储位置,
-p在代码根元素中定义要使用的包是@XmlRootElement(name=“table”),而在XML文件中是“tables”
建议您使用xjc命令自动构建JavaPOJO类
xjc-d-p sample.xsd
-定义生成的类在文件系统中的存储位置,
-p定义要使用的包首先为XML获取XSD
,然后从该XSD
生成POJO,然后进行XML的取消/编组。仅供参考。。您的根元素应该是tables
和not table
@Swaraj,不需要XSD及其编译。您可以手工编写POJO并对其进行注释,这是正确的。我是按照传统的方式来做的。首先为XML获取XSD
,然后从该XSD
生成POJO,然后进行XML的取消/编组。仅供参考。。您的根元素应该是tables
和not table
@Swaraj,不需要XSD及其编译。您可以手工编写POJO并对其进行注释,这是正确的。我走的是传统的方式。