1

我正在尝试<gCal:color value="xxxxxx">从 Android 上的 google-api-java-client 中的 Atom XML 响应中获取 value 属性。出于某种原因,尽管为它定义了@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.

我将 gCal:color 键添加到 CalendarEntry 类:

@Key("gCal:color/@value")
public String color;

当我阅读生成的 CalendarEntry 时,“颜色”字符串仍然为空。

没有发生运行时错误。轻微的更改,例如“gCal:colors”,会导致 HTTP 400 错误请求。我能够添加@Key("id"),效果很好,但是 gCal 的东西都没有回来。

想法?

4

1 回答 1

1

解决了...

我不得不分开拉gCal:color@value而不是一举用 XPath.. 呃!时间浪费在愚蠢的事情上,但没关系..

所以我用一个键创建了一个名为 ColorNode 的类:

public class ColorNode
{
    @Key("@value")
    public String color;
}

然后 CalendarEntry 类有一个 ColorNode 的键:

@Key("gCal:color")
public ColorNode colorNode;
于 2011-04-21T22:05:00.783 回答