关于JAXB技术,请高手指教
用marshal将object转化成xml成功想在用unmarshal将xml转化成object失败
java代码如下:
File file = new File("D://file.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Dmodule.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Dmodule dmodule = (Dmodule) jaxbUnmarshaller.unmarshal(file);
最后一行抛出异常javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"dmodule"). Expected elements are <{http://www.acconsys.com/dmodule}dmodule>
xml如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<dmodule xmlns:ns2="http://www.acconsys.com/identAndStatusSection" xmlns:ns3="http://www.acconsys.com/electricalEquipGroup" xmlns:ns4="http://www.acconsys.com/Dmodule" xmlns:ns5="http://www.acconsys.com/Description" xmlns:ns6="http://www.acconsys.com/wireGroup">
<ns4:content>
<ns4:wiringData>
<ns4:electricalEquipGroup>
<ns3:electricalEquip applicRefId="id测试值1" changeType="ChangeType测试值1" changeMark="ChangeMark测试值1" reasonForUpdateRefIds="ReasonForUpdateRefIds测试值1">
<ns3:referenceDesignator/>
<ns3:partNumber/>
<ns3:altIdentGroup/>
<ns3:connectionListClass/>
<ns3:responsiblePartnerCompany enterpriseCode="EnterpriseCode测试值1">
<ns2:enterpriseName/>
</ns3:responsiblePartnerCompany>
<ns3:equipName/>
<ns3:illustrationRef>
<ns3:refs/>
</ns3:illustrationRef>
</ns3:electricalEquip>
<ns3:electricalEquip applicRefId="id测试值2" changeType="ChangeType测试值2" changeMark="ChangeMark测试值2" reasonForUpdateRefIds="ReasonForUpdateRefIds测试值2">
<ns3:referenceDesignator/>
<ns3:partNumber/>
<ns3:altIdentGroup/>
<ns3:connectionListClass/>
<ns3:responsiblePartnerCompany enterpriseCode="EnterpriseCode测试值2">
<ns2:enterpriseName/>
</ns3:responsiblePartnerCompany>
<ns3:equipName/>
<ns3:illustrationRef>
<ns3:refs/>
</ns3:illustrationRef>
</ns3:electricalEquip>
</ns4:electricalEquipGroup>
</ns4:wiringData>
</ns4:content>
<ns4:identAndStatusSection>
<ns2:dmAddress>
<ns2:dmIdent>
<ns2:dmCode modelIdentCode="ModelIdentCode测试值" systemDiffCode="SystemDiffCode测试值" systemCode="SystemCode测试值" subSystemCode="SubSystemCode测试值" subSubSystemCode="SubSubSystemCode测试值" assyCode="AssyCode测试值" dissassyCode="DissassyCode测试值" dissassyCodeVariant="DissassyCodeVariant测试值" infoCode="InfoCode测试值" infoCodeVariant="InfoCodeVariant测试值" itemLocationCode="ItemLocationCode测试值"/>
<ns2:language languageIsoCode="LanguageIsoCode测试值" countryIsoCode="CountryIsoCode测试值"/>
<ns2:issueInfo issueNumber="IssueNumber测试值" inWork="InWork测试值"/>
</ns2:dmIdent>
<ns2:dmAddressItems>
<ns2:issueDate year="Year测试值" month="Month测试值" day="Day测试值"/>
<ns2:dmTitle techName="TechName测试值" infoName="InfoName测试值"/>
</ns2:dmAddressItems>
</ns2:dmAddress>
<ns2:dmStatus issueType="IssueType测试值">
<ns2:security securityClassification="SecurityClassification测试值"/>
<ns2:responsiblePartnerCompany enterpriseCode="EnterpriseCode测试值">
<ns2:enterpriseName/>
</ns2:responsiblePartnerCompany>
<ns2:originator enterpriseCode="EnterpriseCode测试值">
<ns2:enterpriseName/>
</ns2:originator>
<ns2:applic id="id测试值1">
<ns2:assert/>
</ns2:applic>
<ns2:referencedApplicGroup>
<ns2:applic id="id测试值1">
<ns2:assert/>
</ns2:applic>
<ns2:applic id="id测试值2">
<ns2:assert/>
</ns2:applic>
</ns2:referencedApplicGroup>
<ns2:brexDmRef>
<ns2:dmRef>
<ns2:dmRefIdent>
<ns2:dmCode modelIdentCode="ModelIdentCode测试值" systemDiffCode="SystemDiffCode测试值" systemCode="SystemCode测试值" subSystemCode="SubSystemCode测试值" subSubSystemCode="SubSubSystemCode测试值" assyCode="AssyCode测试值" dissassyCode="DissassyCode测试值" dissassyCodeVariant="DissassyCodeVariant测试值" infoCode="InfoCode测试值" infoCodeVariant="InfoCodeVariant测试值" itemLocationCode="ItemLocationCode测试值"/>
</ns2:dmRefIdent>
</ns2:dmRef>
</ns2:brexDmRef>
<ns2:responseForUpdate applicRefId="ApplicRefId测试值1" id="ID测试值1" updateReasonType="UpdateReasonType测试值1" updateHighlight="UpdateHighlight测试值1">
<ns2:simplePara/>
</ns2:responseForUpdate>
<ns2:responseForUpdate applicRefId="ApplicRefId测试值2" id="ID测试值2" updateReasonType="UpdateReasonType测试值2" updateHighlight="UpdateHighlight测试值2">
<ns2:simplePara/>
</ns2:responseForUpdate>
</ns2:dmStatus>
</ns4:identAndStatusSection>
</dmodule>
Java XML 对象
补充:Java , Java EE