【问题标题】:How to parse xml attributes in objective-c?如何在objective-c中解析xml属性?
【发布时间】:2011-10-10 20:28:26
【问题描述】:

我的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 中的值?

【问题讨论】:

    标签: iphone attributes xml-parsing


    【解决方案1】:

    要获得属性,您首先必须告诉编译器您要从哪个元素获取属性。所以我会使用 if 语句。假设我们想要获取“名称”属性值。它位于 Sport 元素内部。所以我们会写。

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

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

    【讨论】:

      【解决方案2】:

      你必须使用NSXMLParser

      【讨论】:

      • 但是如何获取它的属性呢?
      • 有获取属性的api。解析器的委托方法将帮助您获取从 xml 解析的所有值。
      【解决方案3】:

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

      programming guide on NSXMLParser

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多