将xml解析为java对象

时间:2012-05-10 09:46:51

标签: java xml spring parsing

我想从XMl文件中选择一个特定节点,然后将其解析为java对象

例如我的sample.xml文件如下

<?xml version="1.0" encoding="UTF-8"?>
 <S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
    <ns2:GetStudyInfo xmlns:ns2="http://com.study/">
        <WSResult>
            <ResultCode>eMaven-0000</ResultCode>
            <ResultDesc>Ok</ResultDesc>
        </WSResult>
        <return>
            <StudyNumber>Q005</StudyNumber>
            <StudyTitle>Stomach</StudyTitle>
            <StudyPI></StudyPI>
            <eirbNumber></eirbNumber>
            <SponsorID></SponsorID>
            <SponsorName></SponsorName>
            <SponsorContact></SponsorContact>
            <OtherInfo></OtherInfo>
            <StudyDiv></StudyDiv>
            <StudyID>904</StudyID>
            <StudyStatus></StudyStatus>
            <RevBoard></RevBoard>
            <InitalAppDate>01-01-1900</InitalAppDate>
        </return>
        <return>
            <StudyNumber>Q004</StudyNumber>
            <StudyTitle>Brain Tumor</StudyTitle>
            <StudyPI></StudyPI>
            <eirbNumber></eirbNumber>
            <SponsorID></SponsorID>
            <SponsorName></SponsorName>
            <SponsorContact></SponsorContact>
            <OtherInfo></OtherInfo>
            <StudyDiv>Cardiology</StudyDiv>
            <StudyID>891</StudyID>
            <StudyStatus>Active/Enrolling</StudyStatus>
            <RevBoard></RevBoard>
            <InitalAppDate>01-01-1900</InitalAppDate>
        </return>

    </ns2:GetStudyInfo>
</S:Body>

现在我的要求是采用“返回”节点,然后将其所有元素放在java对象中。

想要使用JAXB注释基础工作。

请帮忙。

由于

2 个答案:

答案 0 :(得分:1)

您可以使用以下方法过滤节点: XSL或StaX API。 然后使用JAXB解组对象。

答案 1 :(得分:0)

使用SAX并获取返回,对于JAX-B,您可以从以下链接开始

http://docs.oracle.com/cd/E12840_01/wls/docs103/webserv/data_types.html

相关问题