android - 简单 XML - 即使提要具有 "changed"并且已添加新属性,如何成功解析?

标签 android xml-parsing attributes simple-framework strict

我一直在开发一个应用程序来解析以下提要中的可用信息:

http://www.tsn.ca/datafiles/xml/cfl/boxscores/1191818.xml

直到今天,一切都运行良好。提要更改为在某些玩家的 TT 属性中添加...

<box-player table="receiving-data" team="1" name="Jeff|Fuller" REC="1" TT="0" YDS="21" TD="0" LNG="21">player</box-player>

然后简单地开始抛出 TT is not specified 或 Attribute not listed 异常(不记得“实际”名称)。

我确保为提要的根添加 strict = false:

@Root(name = "boxscore", strict = false)
public class Boxscore 
{
   @Element(name = "file-info", required = false)
   private FileInfo fi;

   @Element(name = "away-team", required = false)
   private AwayTeam awayTeam;

   @Element(name = "home-team", required = false)
   private HomeTeam homeTeam;

   @Element(name = "stat-headings", required = false)
   private StatHeadings statHeadings;

   @Element(name = "qips", required = false)
   private Qips qips;

   @Element (name = "notes", required = false)
   private String notes;

   @ElementList(name = "players", required = false)
   private List<Player> anyPlayers;

   @ElementList(inline = true, required=false, entry = "box-player")
   private List<Player> inlinePlayers;

   public List<Player> getPlayers()
   {
    if(anyPlayers == null)
    {
        return inlinePlayers;
    }
    else return anyPlayers;
   }
   // other get methods ...
}

我对播放器类的声明如下 - 这是摘录:

@Element(name= "box-player")
public class Player { ... }

我尝试为 @Element 添加 strict = false,但我得到“注解类型 Element 的属性 strict 未定义”。

有什么方法可以忽略新添加的属性吗?所以解析仍然有效?

最佳答案

@Root(strict=false) 添加到 Player 类。发生的事情是 Boxscore 类不是 strictPlayer 类是。

另外,documentation声明:此外,元素列表中的元素(如 ElementList 注释所示)需要此注释,以便可以确定元素名称。

由于您的 Player 类位于 ElementList 中,因此它也需要 @Root 注释。

关于android - 简单 XML - 即使提要具有 "changed"并且已添加新属性,如何成功解析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18111889/

相关文章:

android - POST alamofire 数组参数

java - 如何检测所需的 XML 属性?

java - 在 XSD 中进行与选择类似的序列会引发 "' 违反“唯一粒子属性”异常

.NET 属性 : Why does GetCustomAttributes() make a new attribute instance every time?

python - 为什么我不能分配 `cls.__hash__ = id` ?

asp.net - 自定义 DropDownList 上的 OnChange 属性未呈现

Android 底部导航更改项目选择的文本和图标色调

android - 自定义 map 的框架/应用程序(不是一般的谷歌地图)

java - 如何停止比例图像缩放?

swift - 使用 XMLParsing swift 库发布请求时出现错误 401