【发布时间】:2012-07-04 23:24:47
【问题描述】:
使用JAXB,如何在下面映射<entry key="childResources">?
我尝试将其映射到 Map、@XmlRootElement 注释类列表和其他方式,但没有成功。
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<map>
<entry key="extraProperties">
<map>
<entry key="methods">
<list>
<map>
<entry key="name" value="GET" />
</map>
<map />
<map>
<entry key="name" value="POST" />
<entry key="messageParameters">
<map>
<entry key="id">
<map>
<entry key="acceptableValues" value="" />
<entry key="optional" value="false" />
<entry key="defaultValue" value="" />
<entry key="type" value="string" />
</map>
</entry>
<entry key="enabled">
<map>
<entry key="acceptableValues" value="" />
<entry key="optional" value="true" />
<entry key="defaultValue" value="true" />
<entry key="type" value="boolean" />
</map>
</entry>
<entry key="factoryclass">
<map>
<entry key="acceptableValues" value="" />
<entry key="optional" value="false" />
<entry key="defaultValue" value="" />
<entry key="type" value="string" />
</map>
</entry>
<entry key="description">
<map>
<entry key="acceptableValues" value="" />
<entry key="optional" value="true" />
<entry key="defaultValue" value="" />
<entry key="type" value="string" />
</map>
</entry>
<entry key="target">
<map>
<entry key="acceptableValues" value="" />
<entry key="optional" value="true" />
<entry key="defaultValue" value="server" />
<entry key="type" value="string" />
</map>
</entry>
<entry key="property">
<map>
<entry key="acceptableValues" value="" />
<entry key="optional" value="true" />
<entry key="defaultValue" value="" />
<entry key="type" value="string" />
</map>
</entry>
<entry key="restype">
<map>
<entry key="acceptableValues" value="" />
<entry key="optional" value="false" />
<entry key="defaultValue" value="" />
<entry key="type" value="string" />
</map>
</entry>
</map>
</entry>
</map>
</list>
</entry>
<entry key="commands">
<list />
</entry>
<entry key="childResources">
<map>
<entry key="ab/cd" value="http://localhost:4848/management/domain/resources/custom-resource/ab%2Fcd" />
<entry key="xx" value="http://localhost:4848/management/domain/resources/xx" />
</map>
</entry>
</map>
</entry>
<entry key="message" value="" />
<entry key="exit_code" value="SUCCESS" />
<entry key="command" value="custom-resource" />
</map>
【问题讨论】:
-
一个
<entry>可以有a single <map>或a single <list>? -
我猜
有一个包含多个条目的单个映射,每个条目都有一个键/值对 -
我猜
应该映射到 Map 或 Map 。 -
映射到地图时出现什么错误?
-
为什么不使用 XPATH 表达式来获取所需的值?使用 JAXB,您可以映射文档结构,但不能使映射依赖于
key="childResources"等属性的内容。