0

XML ファイルを読み取って、XML ファイル内の id 属性を読み取る必要がありますが、ディクショナリは null です。xml は次のとおりです。

 <?xml version='1.0' encoding='UTF-8'?>
 <root>
<event id="2"></event>
 </root>

私のコード:

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

  NSLog(@"elementName is %@", elementName);
  // elementName is root
  NSLog(@"AttributeDict is %@", attributeDict);
  //AttributeDict is { } why?
  //I must extract "id" in event but does not entry

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

    NSLog(@" %@", elementName);

}

}
4

1 に答える 1

1

次のようにする必要があります。

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict
{
    if ([elementName isEqualToString:@"event"])
    {
        NSLog(@" %@", [attributeDict objectForKey:@"id");
    }

}

要素rootには属性がないため、ルートattributeDictの場合は空として表示されます。elementName

于 2013-08-30T11:40:50.867 に答える