Я использую JAXB-impl. Мне нужно иметь возможность отображать вложенные элементы в поля классов как простые типы. Например:JAXB связывание вложенных элементов
<mapping>
<search>
<channel>main-channel</channel>
<url>my-channel-url</url>
</search>
<items>
<item>first</item>
<item>second</item>
<item>third</item>
</items>
</mapping>
Предполагая, что мне нужно, чтобы связать «URL» тег в поле в классе, это не будет работать (конечно):
class Mapping{
@XmlElement
private String url;
}
@XmlElementWrapper, это только для коллекций. Я видел сообщение об использовании eclipse MOXy и использую @XmlPath, но это не вариант. Это должен быть JAXB-impl.
для справки: http://wiki.eclipse.org/EclipseLink/Examples/MOXy/XPath#Marshal_to_XML_-_MOXy_Customization_.231_-_Grouping_Element
Есть ли способ, чтобы получить это отображение без необходимости создавать эти дополнительные вложенные классы?
Почему бы не создать вложенные классы? –
Это может быть вариант. Однако доступ к полям: mapping.getUrl(); более чистый: mapping.getNestedClass.getUrl(); Я не уверен, имеет ли смысл создавать вложенный класс, чтобы удовлетворить JAXB. Я предпочитаю не создавать вложенный класс, но мне может понадобиться его создать. – Mansour
Вам нужно прочитать и написать XML или просто прочитать? –