1

我想从 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 注释基础工作。

请帮忙。

谢谢

4

2 回答 2

1

您可以使用例如 XSL 或 StaX API 过滤节点。然后使用 JAXB 解组对象。

于 2012-05-10T09:51:58.683 回答
0

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

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

于 2012-05-10T09:51:42.327 回答