簡體   English   中英

簡單的XML框架僅解析XML的一部分

[英]Simple XML Framework parse only part of the XML

我正在使用簡單XML框架來分析肥皂網絡服務的響應。 我只想解析實際的Web服務響應,而忽略soap信封和正文(即,我不想為所有響應都提供Envelope和Body類)。

XML:

<Envelope>
    <Body>
        <TopGoalScorersResponse>
            <TopGoalScorersResult>
                <tTopGoalScorer>
                    <sName>Alan Dzagoev</sName>
                    <iGoals>3</iGoals>
                    <sCountry>Y</sCountry>
                    <sFlag>http://footballpool.dataaccess.eu/images/flags/ru.gif</sFlag>
                    <sFlagLarge>http://footballpool.dataaccess.eu/images/flags/ru.png</sFlagLarge>
                </tTopGoalScorer>
            </TopGoalScorersResult>
        </TopGoalScorersResponse>
    </Body>
</Envelope>

因此,對於此響應,我希望具有TopGoalScorersResponse,TopGoalScorersResult和TopGoalScorer類,並且不需要具有Envelope和Body類。

這可能嗎?

謝謝大衛

您可以嘗試使用Java Xpath API通過xpath查詢獲取零件。

您可以使用StAX解析器來解析XML文檔。 然后,您可以使用生成的XMLStreamReader前進到希望開始的元素,然后從那里取消編組(假設Simple XML可以從StAX XMLStreamReader編組)。

下面是一個答案的鏈接,其中我用JAXB(JSR-222)做過非常相似的事情:

欲獲得更多信息

基本上,您要使用@Path實現

因此,您將擁有

@Root(strict=false, name="Envelope")  
public class Root {
    @Path("Body")
    @Element(inline=true)
    private TopGoalScorersResult topGoalScorersResult;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM