Mic*_*ael 8 java xml simple-framework
I serialize this class using the Simple XML framework:
@Root
public class HowToRenderEmptyTag {
@Element(required=false)
private String nullString;
}
Run Code Online (Sandbox Code Playgroud)
I want to get:
<howToRenderNull>
<nullString/>
</howToRenderNull>
Run Code Online (Sandbox Code Playgroud)
But I get:
<howToRenderNull/>
Run Code Online (Sandbox Code Playgroud)
I have tried assigning an empty string:
@Root
public class HowToRenderEmptyTag {
@Element(required=false)
private String emptyString = "";
}
Run Code Online (Sandbox Code Playgroud)
But then I get one opening and one closing tag:
<howToRenderNull>
<emptyString></emptyString>
</howToRenderNull>
Run Code Online (Sandbox Code Playgroud)
使用XML并且更改客户端超出范围的客户端并没有错误地接受这一点.
关于如何获得单个空标签的任何想法?
oll*_*llo 12
你可以在这里使用一个技巧; 为您的元素编写一个转换器来改变行为:
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;
// ...
}
Run Code Online (Sandbox Code Playgroud)
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 ;-) */
}
}
Run Code Online (Sandbox Code Playgroud)
您不必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);
Run Code Online (Sandbox Code Playgroud)
最后的结果是:
<howToRenderEmptyTag>
<emptyString/>
</howToRenderEmptyTag>
Run Code Online (Sandbox Code Playgroud)
既然你已经使用了两者,我不确定空元素是否需要名称emptyString或nullString但改变它并不是一件大事:-)
| 归档时间: |
|
| 查看次数: |
2631 次 |
| 最近记录: |