我正在使用SimpleXML来创建XML消息。我想创建以下消息:
<item>
<carrier close="true">1234567</carrier>
</item>
我创建了相应的Java代码:
@Root(name="item")
public class Item {
@Attribute(name="close")
@Path("carrier")
boolean closeCarrier;
@Element
private String carrier;
}
但是我收到了错误:
Element&#39; carrier&#39;也是类nl.example.Item
中的路径名
当我使用@Path("item/carrier")
时,它会创建以下内容:
<item>
<carrier close="true">1234567</carrier>
<item>
<carrier close="true" />
</item>
</item>
答案 0 :(得分:0)
最好用这里的类来映射结构。
Item
类会创建包装 <item>...</item>
元素:
@Root(name="item")
public class Item
{
@Element(name = "carrier", required = true)
private Carrier carrier;
// ...
}
Carrier
类包含实际值:
@Root(name = "carrier")
public class Carrier
{
@Text
private int value;
@Attribute(name = "close")
private boolean close;
// ...
}
这将创建正确的XML。
如果Carrier
不是公开的,您可以通过将其设为私有或内部类Item
来隐藏它。