0

Simple XML フレームワークを使用して、SOAP Web サービスからの応答を解析しています。実際の 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 クラスは必須ではありません。

これは可能ですか?

ありがとうデビッド

4

3 に答える 3

0

StAX パーサーを使用して XML ドキュメントを解析できます。次に、結果XMLStreamReaderを使用して、開始したい要素に進み、そこから非整列化できます (Simple XML が StAX から非整列化できると仮定しますXMLStreamReader)。

以下は、私が非常に似たようなことをした回答へのリンクですが、JAXB (JSR-222)を使用しています。

詳細については

于 2012-06-22T20:10:15.493 に答える
0

xpath クエリでパーツを取得するために、Java Xpath APIを試すことができます。

于 2012-06-22T15:28:58.537 に答える
0

基本的に、やりたいことは @Path を使用して達成されます

だから、あなたは持っているでしょう

@Root(strict=false, name="Envelope")  
public class Root {
    @Path("Body")
    @Element(inline=true)
    private TopGoalScorersResult topGoalScorersResult;
}
于 2013-01-04T13:45:21.733 に答える