![](/img/trans.png)
[英]Which xml parse impl to parse only a part of the XML and store it in DB
[英]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.