Jaxb - 如何将一个 xml 元素解组到多个字段?
xml:
<代码><根>; <元素>值(某物)
我需要将此 xml 解组到我的 java 类中的两个不同字段。
我尝试了以下方法,但没有成功。第一个字段具有正确的值,第二个字段为空。
java:
@XmlElement(name="element")
@XmlJavaTypeAdapter(TakeValueBeforeParentheses.class)
private String one;
@XmlElement(name="element")
@XmlJavaTypeAdapter(TakeValueInParentheses.class)
private String two;
如何在不创建一个类来保存这两个值并将其映射到“元素”的情况下实现这一目标?
xml:
<root>
<element>value (something)</element>
</root>
I need to unmarshall this xml to two different fields in my java class.
I tried the following but it didn't work. the first field had the right value and the second one was null.
java:
@XmlElement(name="element")
@XmlJavaTypeAdapter(TakeValueBeforeParentheses.class)
private String one;
@XmlElement(name="element")
@XmlJavaTypeAdapter(TakeValueInParentheses.class)
private String two;
How can I achieve this without creating a class to hold both values and map that to "element"?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以注释setter而不是字段,然后使setter将值解析为两个字段:
You may annotate setters and not fields, and then make setter parse value to two fields:
我认为这是一个不好的做法,因为解组系统仅使用标记分隔符。您可以在解编 xml 后拆分该行。
为什么不使用这种 xml 格式:
i think it's a bad practice, because the unmarchalling system play with markers separators only. You can split the line after unmarchalling the xml.
Why not use this xml format :