你可以在这里使用一个技巧;为您的元素编写一个转换器来改变行为:
HowToRenderEmptyTag班级:
@Root(name = "howToRenderEmptyTag")
public class HowToRenderEmptyTag
{
    @Element(name = "emptyString", required = false)
    @Convert(value = EmptyElementConverter.class) // Set the converter for this element
    private String nullString;
    // ...
}
EmptyElementConverter班级:
public class EmptyElementConverter implements Converter<String>
{
    @Override
    public String read(InputNode node) throws Exception
    {
        /* Implement if required */
        throw new UnsupportedOperationException("Not supported yet.");
    }
    @Override
    public void write(OutputNode node, String value) throws Exception
    {
        /* Simple implementation: do nothing here ;-) */
    }
}
你不必Converter为字符串实现这个 - 在这个例子中它是可选的。您可以保持类通用或实现它,Object以便您可以将它用于任何元素之王。
例子:
final File f = new File("test.xml");
HowToRenderEmptyTag example = new HowToRenderEmptyTag("");
Serializer ser = new Persister(new AnnotationStrategy()); // Don't forget AnnotationStrategy here!
ser.write(example, f);
最后是结果:
<howToRenderEmptyTag>
   <emptyString/>
</howToRenderEmptyTag>
由于您已经使用了两者,我不确定空元素是否需要名称emptyString或nullString但更改它并不是一件大事:-)