как анализировать данные xml с помощью синтаксического анализа libxml

Это структура xml, которую я хочу разобрать, используя синтаксический анализ libxml.

enter image description here

enter image description here

Как я могу получить значение атрибута для тега «кампания», т. е. ID , и для тега «изображение», т. е. url и размер .

Если я использую эти значения, я могу извлечь значения тегов «code» и «name».

static const char *kName_campaign = "campaign";
static const NSUInteger kLength_campaign = 9;
static const char *kName_code = "code";
static const NSUInteger kLength_code = 5;
static const char *kName_name = "name";
static const NSUInteger kLength_name = 5;

Затем я получаю код и название текущей и предстоящей кампании вместе. Это код, который я использую в делегате, который вызывается при выполнении синтаксического анализа.

static void endElementSAX(void *ctx, const xmlChar *localname, const xmlChar *prefix, const xmlChar *URI)
{    
    LibXMLParser *parser = (LibXMLParser *)ctx;

    if (parser.parsingASong == NO) return;

    if (prefix == NULL)
    {
        if (!strncmp((const char *)localname, kName_campaign, kLength_campaign)) 
        {
            [parser finishedCurrentSong];
            parser.parsingASong = NO;
        } 
        else if (!strncmp((const char *)localname, kName_code, kLength_code))
        {
            parser.currentSong.title = [parser currentString];
            NSLog(@"Code  :: %@",[parser currentString]);
        }
        else if (!strncmp((const char *)localname, kName_name, kLength_name)) 
        {
            parser.currentSong.category = [parser currentString];
            NSLog(@"Name :: %@",[parser currentString]);
        }
    }
}

Как я могу получить значения атрибутов от начала до конца idиз тега «кампания». urlи размериз тега "image"?

7
задан NiKKi 1 June 2012 в 10:26
поделиться