zoukankan      html  css  js  c++  java
  • 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];

  • 相关阅读:
    为什么使用Redis
    [Apache Pulsar] 企业级分布式消息系统-Pulsar快速上手
    [Apache Pulsar] 企业级分布式消息系统-Pulsar入门基础
    JDK源码分析系列---ArrayList和LinkList
    JDK源码分析系列---String,StringBuilder,StringBuffer
    单点登录
    单例模式的几种实现方式
    Bloom’S Taxonomy
    Python 字符串多替换时性能基准测试
    软件开发的生产力vs质量
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175620.html
Copyright © 2011-2022 走看看