android - 使用 SimpleXML 反序列化带有 HTML 转义部分的 XML

标签 android xml retrofit simple-framework html-escape-characters

我有一个看起来像这样的 XML:

<xml>
&lt;example&gt;&lt;string&gt;test&lt;/string&gt;&lt;/example&gt;
</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 会帮我完成。

关于android - 使用 SimpleXML 反序列化带有 HTML 转义部分的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37602787/

相关文章:

java - 在 JAXB 中表示多个元素名称

java - 自定义 JAXB 验证错误消息

android - 做动画的时候怎么把view放在前面?

javascript - 安卓:html 和 javascript

xml - Xslt- preceding-sibling within for-each

java - Retrofit 不会调用 onReponse 和 onFailure

android - 手机关机期间的 HTTP 调用

java - Retrofit/OkHttp 删除 Transfer-Encoding header

android - DialogFragment 如何影响调用 Fragment 的生命周期?

java - EditText 检查输入是否从 0 到 9 并显示 toast ?