Get gCal:color from google api for java?



我试图从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时,"color"字符串仍然是空的。

没有发生运行时错误。一个轻微的改变,比如"gCal:colors",会导致HTTP 400错误请求。我能够添加@Key("id"),这工作得很好,但是没有gCal的东西回来。

想法吗?

已解决…

我必须分别提取gCal:color@value,而不是用XPath一次性提取。啊!把时间浪费在愚蠢的事情上,但没关系。

所以我创建了一个名为ColorNode的类,只有一个键:
public class ColorNode
{
    @Key("@value")
    public String color;
}

然后CalendarEntry类有一个Key用于ColorNode:

@Key("gCal:color")
public ColorNode colorNode;

相关内容

  • 没有找到相关文章

最新更新