1

<gCal:color value="xxxxxx">Androidのgoogle-api-java-clientでAtomXML応答から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.

CalendarEntryクラスにgCal:colorキーを追加しました。

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

結果のCalendarEntryを読んだとき、「color」文字列はまだnullです。

実行時エラーは発生しません。「gCal:colors」のようなわずかな変更は、HTTP400の不正なリクエストを引き起こします。@Key( "id")を追加することはできましたが、これはうまく機能しますが、gCalのものはどれも戻ってきません。

考え?

4

1 に答える 1

1

解決...

XPath で一挙に行うのではなくgCal:color、個別に引っ張らなければなりませんでした。@valueくだらないことで時間を無駄にしましたが、それでいいのです..

そこで、1 つのキーを持つ ColorNode というクラスを作成しました。

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

CalendarEntry クラスには、ColorNode のキーがあります。

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