Iphone 如何在objective-c中解析xml属性?

Iphone 如何在objective-c中解析xml属性?,iphone,attributes,xml-parsing,Iphone,Attributes,Xml Parsing,我的xml如下所示: <Schedule id="1296" date="2010-05-20"> − <Sports> <Sport id="1" name="Football" abbr="FB"/> <Sport id="2" name="Basketball" abbr="BK"/> <Sport id="3" name="Baseball" abbr="BB"/> <Sport id="4" name="Hockey"

我的xml如下所示:

<Schedule id="1296" date="2010-05-20">
−
<Sports>
<Sport id="1" name="Football" abbr="FB"/>
<Sport id="2" name="Basketball" abbr="BK"/>
<Sport id="3" name="Baseball" abbr="BB"/>
<Sport id="4" name="Hockey" abbr="HK"/>
<Sport id="5" name="Other" abbr="OT"/>
</Sports>
−
<Leagues>
<League id="1" league_id="1" sport_id="1" periods="4" half_time_minutes="12" name="NFL" abbr="NFL" covers_league="NFL" covers_sport="football"/>
<League id="2" league_id="2" sport_id="1" periods="4" half_time_minutes="18" name="College Football" abbr="CFB" covers_league="NCAAF" covers_sport="football"/>
<League id="3" league_id="3" sport_id="2" periods="4" half_time_minutes="15" name="NBA" abbr="NBA" covers_league="NBA" covers_sport="basketball"/>
<League id="4" league_id="4" sport_id="2" periods="2" half_time_minutes="15" name="College Basketball" abbr="CBK" covers_league="NCAAB" covers_sport="basketball"/>
<League id="5" league_id="5" sport_id="3" periods="9" half_time_minutes="0" name="MLB" abbr="MLB" covers_league="MLB" covers_sport="baseball" ml="true"/>
<League id="6" league_id="6" sport_id="3" periods="9" half_time_minutes="0" name="College Baseball" abbr="CBB" ml="true"/>
<League id="7" league_id="7" sport_id="4" periods="3" half_time_minutes="0" name="NHL" abbr="NHL" covers_league="NHL" covers_sport="hockey" ml="true"/>
<League id="8" league_id="8" sport_id="2" periods="4" half_time_minutes="15" name="WNBA" abbr="WNBA" covers_league="WNBA" covers_sport="basketball"/>
</Leagues>

−
−

如何解析此xml中的值?

您必须使用

您必须使用

使用
NSXMLParser
。。请尝试按照本教程进行操作:


使用
NSXMLParser
。。请尝试按照本教程进行操作:


要获取属性,首先必须告诉编译器要从哪个元素获取属性。所以我会使用if语句。假设我们想要得到“name”属性值。这是在运动元素里面。所以我们会写

if([elementname isEqualToString:@"Sport"]){
   nameString = [attributeDict objectForKey:@"name"];
}

它将查找元素Sport,然后将名为name的元素属性的值存储到一个NSString中,我们有names nameString。

要获取属性,首先必须告诉编译器要从哪个元素获取属性。所以我会使用if语句。假设我们想要得到“name”属性值。这是在运动元素里面。所以我们会写

if([elementname isEqualToString:@"Sport"]){
   nameString = [attributeDict objectForKey:@"name"];
}

它将查找元素Sport,然后将名为name的元素属性的值存储到NSString中。我们有names nameString。

但是如何获取其属性呢?有API可以获取属性。解析器的委托方法将帮助您获得从xml解析的所有值。但是如何获取其属性呢?有一些API可以获取属性。解析器的委托方法将帮助您获得从xml解析的所有值。