我正在尝试从Android上的google-api-java-client中的Atom XML响应中获取<gCal:color value="xxxxxx">值属性。由于某种原因,尽管为它定义了一个@Key,但它没有被解析。我可以看到它出现在实际的XML响应中,但是它没有正确地解析到pojo中。
考虑一下我修改过的这些代码。
我添加了gCal名称空间:
AtomParser parser = new AtomParser();
parser.namespaceDictionary = Util.DICTIONARY;
parser.namespaceDictionary.set("gCal", "http://schemas.google.com/gCal/2005"); // I added this.我在CalendarEntry类中添加了gCal:color键:
@Key("gCal:color/@value")
public String color;当我读取结果颜色时,“CalendarEntry”字符串仍然为空。
未发生运行时错误。细微的改动,如"gCal:colors",就会导致HTTP 400Bad请求。我可以添加@Key("id"),它工作得很好,但是gCal的东西都不回来了。
有什么想法?
发布于 2011-04-22 06:05:01
解决..。
我必须将gCal:color和@value分开,而不是一举使用XPath。啊!把时间浪费在愚蠢的狗屎上,但这没关系..
所以我创建了一个名为ColorNode的类,只有一个键:
public class ColorNode
{
@Key("@value")
public String color;
}然后,CalendarEntry类就有了ColorNode的密钥:
@Key("gCal:color")
public ColorNode colorNode;https://stackoverflow.com/questions/5719923
复制相似问题