iPhone: разобрать XML-файл с атрибутом - PullRequest
1 голос
/ 05 октября 2009

Я хочу разобрать файл XML. Я имею возможность анализировать простой XML-файл. но есть немного сложный файл XML

<?xml version="1.0" encoding="utf-8"?>
<Level>
<p id='327'>
   <Item>
      <Id>5877</Id>
      <Type>0</Type>
      <Icon>---</Icon>
      <Title>Btn1Item1</Title>
   </Item>
   <Item>
      <Id>5925</Id>
      <Type>0</Type>
      <Icon>---</Icon>
      <Title>Btn1Item4</Title>
   </Item>
</p>
</Level>

Здесь я хочу получить значение тега <p> (я имею в виду, что хочу получить значение атрибута id, равное 327). Пожалуйста, предложите

Ответы [ 2 ]

2 голосов
/ 05 октября 2009

Вы можете использовать приведенный ниже код, чтобы найти значение "id" в методе анализа XML,

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
  namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName 
    attributes:(NSDictionary *)attributeDict {

    if([elementName isEqualToString:@"p"])
    {

        int idValue = [[attributeDict objectForKey:@"id"] intValue];

        NSLog(@"Reading id value :%d", idValue);
    }

}
0 голосов
/ 05 октября 2009

В вашем методе (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict аргумент attributeDict содержит все атрибуты. Например, чтобы получить доступ к атрибуту id, просто вызовите [attributeDict objectForKey:@"id"].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...