当前位置:编程学习 > JAVA >>

关于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
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,