Cri*_*ian 36 java xml-deserialization simple-framework
我正在使用SimpleXml来(de)序列化POJO.现在,我有一个大的XML,它有一些不需要的元素.例如,使用此XML:
<Root>
<Element>Used</Element>
<Another>Not used</Another>
<Root>
Run Code Online (Sandbox Code Playgroud)
我想创建一个POJO,它看起来像:
@Root
class Root{
@Element
private String element;
}
Run Code Online (Sandbox Code Playgroud)
问题是我得到了这个例外:
simpleframework.xml.core.ElementException: Element 'Another' does not have a
match in class blah.blah.Blah at line 1
Run Code Online (Sandbox Code Playgroud)
那么......我应该如何配置POJO以便我能正确解析XML?
dog*_*ane 86
strict
在Root批注中设置为false以忽略未出现在类中的任何XML元素或属性.
@Root(strict=false)
Run Code Online (Sandbox Code Playgroud)
或者,strict
在读取序列化程序中的xml时设置 为false :
Root root = serializer.read(Root.class, source, false);
Run Code Online (Sandbox Code Playgroud)
小智 5
您可以将(required = false)添加到单个元素
@Element(required=false)
private int statusCode;
Run Code Online (Sandbox Code Playgroud)
如果你有更多的元素使用
@Root(strict=false)
Run Code Online (Sandbox Code Playgroud)