使用 SimpleXML 反序列化 XML 和 HTML 转义部分
Deserialize XML with HTML-escaped part using SimpleXML
我有一个 XML 看起来像这样:
<xml>
<example><string>test</string></example>
</xml>
是否有可能使 SimpleXML 在反序列化期间恢复那些 HTML 转义字符并照常继续,膨胀这些 类:
@Root
public class Xml {
@Element
public Example example;
}
public class Example {
@Element
public String string;
}
好的,我想我明白了
SimpleXML 将转义序列解析为 @Text
,我可以在 constructor injection 中使用它,并且在该构造函数中我创建了另一个 Persister
实例,它读取这个序列。这是问题中示例的代码:
@Root
public class Xml {
@Text
String text;
public Example example;
public Xml(@Text String text) {
Serializer serializer = new Persister();
try {
example = serializer.read(Example.class, text);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class Example {
@Element
public String string;
}
有趣的是,我不需要恢复转义字符,SimpleXML 会帮我完成。
我有一个 XML 看起来像这样:
<xml>
<example><string>test</string></example>
</xml>
是否有可能使 SimpleXML 在反序列化期间恢复那些 HTML 转义字符并照常继续,膨胀这些 类:
@Root
public class Xml {
@Element
public Example example;
}
public class Example {
@Element
public String string;
}
好的,我想我明白了
SimpleXML 将转义序列解析为 @Text
,我可以在 constructor injection 中使用它,并且在该构造函数中我创建了另一个 Persister
实例,它读取这个序列。这是问题中示例的代码:
@Root
public class Xml {
@Text
String text;
public Example example;
public Xml(@Text String text) {
Serializer serializer = new Persister();
try {
example = serializer.read(Example.class, text);
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class Example {
@Element
public String string;
}
有趣的是,我不需要恢复转义字符,SimpleXML 会帮我完成。