Получить gCal: цвет из Google API для Java? - PullRequest
1 голос
/ 19 апреля 2011

Я пытаюсь получить атрибут значения <gCal:color value="xxxxxx"> из XML-ответа Atom в google-api-java-client на Android. По какой-то причине он не анализируется, несмотря на то, что для него определен @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: в класс CalendarEntry:

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

Когда я читаю полученный CalendarEntry, строка "color" по-прежнему равна нулю.

Нет ошибок во время выполнения. Небольшое изменение, такое как «gCal: colors», приведет к неправильному запросу HTTP 400. Мне удалось добавить @Key ("id"), который прекрасно работает, но ничего из gCal не возвращается.

Мысли

1 Ответ

1 голос
/ 22 апреля 2011

решаемые ...

Мне пришлось потянуть gCal:color и @value отдельно, а не одним махом с XPath ... тьфу! время потрачено на глупое дерьмо, но это нормально ..

Итак, я создал класс ColorNode с одним ключом:

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

И тогда у класса CalendarEntry есть ключ для ColorNode:

@Key("gCal:color")
public ColorNode colorNode;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...