XStream : node with attributes and text node?

subb picture subb · Nov 13, 2009 · Viewed 13.5k times · Source

I would like to serialize an object to an XML of this form with XStream.

<node att="value">text</node>

The value of the node (text) is a field on the serialized object, as well as the att attribute. Is this possible without writing a converter for this object?

Thanks!

Answer

mantrid picture mantrid · Jan 20, 2012

you can use a predefined Converter.

@XStreamAlias("node")
@XStreamConverter(value=ToAttributedValueConverter.class, strings={"text"})
class Node {
  private String att;
  private String text;
}   

XStream Annotations Tutorial also says that for att attribute:

Note, that no XStreamAsAttribute annotations were necessary. The converter assumes it implicitly.