package org.simpleframework.xml.convert; import junit.framework.TestCase; import org.simpleframework.xml.Element; import org.simpleframework.xml.Root; import org.simpleframework.xml.core.Persister; import org.simpleframework.xml.strategy.Strategy; import org.simpleframework.xml.stream.InputNode; import org.simpleframework.xml.stream.OutputNode; public class EmptyElementConverterTest extends TestCase { private static final String SOURCE = "<root>\r\n"+ " <text></text>\r\n"+ "</root>\r\n"; @Root private static class RootExample { @Element @Convert(TextConverter.class) private String text; } private static class TextConverter implements Converter { public Object read(InputNode node) throws Exception { String value = node.getValue(); if(value == null) { return ""; } return value; } public void write(OutputNode node, Object value) throws Exception { node.setValue(String.valueOf(value)); } } public void testConverter() throws Exception { Strategy strategy = new AnnotationStrategy(); Persister persister = new Persister(strategy); RootExample example = persister.read(RootExample.class, SOURCE); assertEquals(example.text, ""); } }