正在使用我的应用程序处理服务器响应。我正在将这些东西作为字符串响应。
<Body>
<HotelRQ xmlns="urn:Hotel_Search">
<POS>
<Source Username='USERNAME' Password='PASSWORD' PropertyID='PROPERTYID' />
</POS>
<AvailRequests>
<AvailRequest>
<StayDateRange Start='2009-09-05T12:00:00' End='2009-09-06T12:00:00'/>
<RoomStays>
<RoomStay> <!—for Room 1->
<GuestCounts>
<GuestCount Count='2'/>
</GuestCounts>
<ChildCounts>
<ChildAge Age='10'/>
<ChildAge Age='09'/>
</ChildCounts>
</RoomStay>
</RoomStays>
<SearchCriteria>
<Criterion>
<HotelRef HotelCityName='CITY' HotelName='' Area='' Attraction='' Rating=''/>
<Sorting Preference='2'/>
<ResponseType Compact="Y"/>
</Criterion>
</SearchCriteria>
</AvailRequest>
</AvailRequests>
</HotelRQ>
</Body>
我可以使用 jaxb 吗?
我正在使用此文件来解析我收到的服务器响应。我需要做什么来使用 JAXB 解析它。我以字符串格式获取它。我如何直接映射到java类变量或bean? 谢谢。
最佳答案
你可以看到这个问题:How do I load an org.w3c.dom.Document from XML in a string?
在 DOM 文档中加载 XML 字符串后,您可以调用方法 getElementsByTagName
来检索特定标签,然后使用 getNodeValue
迭代它们提取标签内的值并使用 getAttribute
提取属性。
您无法在运行时轻松地将其映射到具有 desider 字段的 Java 类,但您可以使用 getRooms()
等简单方法将元素的解析和提取包装在类中
关于java - 使用 JAXB 将 XML 解析为 java 变量(bean),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13658876/