在改造android中使用简单的xml转换器反序列化html转义字符

Posted

技术标签:

【中文标题】在改造android中使用简单的xml转换器反序列化html转义字符【英文标题】:De serialize html escape characters using simple xml converter in retrofit android 【发布时间】:2020-03-17 17:07:46 【问题描述】:

我们如何使用改造android中的简单xml转换器反序列化响应正文的xml内部标签中的html转义字符以保存在POJO类中?

<?xml version="1.0" encoding="utf-8"?>
<sample>
  <outer>
    &lt;test&gt;data<&lt;/test>&gt;
  </outer>
</sample>

【问题讨论】:

您有没有尝试将xml 转换为POJO 是的,简单的 xml 转换器作为改造中的转换器工厂 普通 xml 被转换。但有时转义字符介于 xml 的内部标签之间 【参考方案1】:

应该这样做

@Root
public class Sample 
    @Element
    Outer outer;


public class Outer 
    @Text
    String text;

    public Test test;

    public Xml(@Text String text) 
        Serializer serializer = new Persister();
        try 
            example = serializer.read(Test.class, text);
         catch (Exception e) 
            e.printStackTrace();
        
    


public class Test 

    @Element
    public String data;

【讨论】:

我试过了。它返回空值。你确定它适用于简单的 xml 2.7.1 吗? 检查您的输入,我认为它可能格式错误。正确的应该是这样的:&lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;sample&gt; &lt;outer&gt; &amp;lt;test&amp;gt;data&amp;lt;/test&amp;gt; &lt;/outer&gt; &lt;/sample&gt; 在这里,编译并为我正常工作:pastebin.com/u5F3334J 给你:pastebin.com/zrKdq9nk。此外,它在 Android 和普通 Java 上的工作方式相同 @VineethKuttipurathkottayodan 我认为@Element Object read; 应该这样做

以上是关于在改造android中使用简单的xml转换器反序列化html转义字符的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中将 XML 转换为 JSON 会出错

在 C# 中为 WCF 服务反序列化简单的 XML 数组对象

Json/XML序列化和反序列化

无法反序列化 JSON 响应

XML和实体类之间相互转换(序列化和反序列化)

XML和实体类之间相互转换(序列化和反序列化)