• Gdataxml 例子


    <Party>

      <Player>

        <Name>Butch</Name>

        <Level>1</Level>

        <Class>Fighter</Class>

      </Player>

      <Player>

        <Name>Shadow</Name>

        <Level>2</Level>

        <Class>Rogue</Class>

      </Player>

      <Player>

        <Name>Crak</Name>

        <Level>3</Level>

        <Class>Wizard</Class>

      </Player>

    </Party>

    NSError *error;

    NSData* xmlData= [xmlString dataUsingEncoding: NSASCIIStringEncoding];

    GDataXMLDocument *doc = [[GDataXMLDocument alloc] initWithData:xmlData options:0 error:&error];

    if (doc == nil) { return nil; }

    //NSArray *partyMembers = [doc.rootElement elementsForName:@"Player"];

     NSArray *partyMembers = [doc nodesForXPath:@"//Party/Player" error:nil];

    for (GDataXMLElement *partyMember in partyMembers) {

    // Let's fill these in!

    NSString *name;

    int level;

    // Name

    NSArray *names = [partyMember elementsForName:@"Name"];

    if (names.count > 0) {

    GDataXMLElement *firstName = (GDataXMLElement *) [names objectAtIndex:0];

    name = firstName.stringValue;

    } else continue;

    // Level

    NSArray *levels = [partyMember elementsForName:@"Level"];

    if (levels.count > 0) {

    GDataXMLElement *firstLevel = (GDataXMLElement *) [levels objectAtIndex:0];

    level = firstLevel.stringValue.intValue;

    } else continue;

    // Class

    NSArray *classes = [partyMember elementsForName:@"Class"];

    if (classes.count > 0) {

    GDataXMLElement *firstClass = (GDataXMLElement *) [classes objectAtIndex:0];

    if ([firstClass.stringValue caseInsensitiveCompare:@"Fighter"] == NSOrderedSame)

    {

    } else if ([firstClass.stringValue caseInsensitiveCompare:@"Rogue"] == NSOrderedSame) {

    } else if ([firstClass.stringValue caseInsensitiveCompare:@"Wizard"] == NSOrderedSame) {

    } else {

    continue;

    }            

    } else continue;

    }

    [doc release];

    [xmlData release];

  • 相关阅读:
    css3 的box-sizing属性理解
    web自定义炫酷字体
    Canvas rontate(旋转) 使用误区
    HTM5 之 Canvas save 、restore 恢复画布状态的理解
    Canvas的quadraticCurveTo 和 bezierCurveTo 画曲线 方法细说
    关于EF的一点小记录
    IIS 发布webservice 需要用户名和密码访问 解决
    【算法笔记】A1060 Are They Equal
    【算法笔记】A1063 Set Similarity
    【算法笔记】B1052 卖个萌
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175620.html
Copyright © 2020-2023  润新知