这之前要有一个准备工作,除了将解析类导入进来外,还要将一个框架导入进来,框架名叫“libxml2.dylib”,没有这个框架是解析不了的,将这个框架导入进来后还有一个问题,要在“Build Settings” 里面的 “Header Search Paths” 上添加 “/usr/include/libxml2” 并点击后选中后保存一下即可

 

 

 

//先要有xml的文件,然后要得到这个文件的路径,放进NSString对象里

- (NSString *)fileContent

{

    //在包里得到这个文件的路径

    NSString *filePath = [[NSBundle mainBundlepathForResource:@"student" ofType:@"txt"];

    //将路径转换成UTF8格式放进NSString对象里

    NSString *content = [NSString stringWithContentsOfFile:filePath encoding:NSUTF8StringEncodingerror:nil];

    return content;

}

 

 

 

//解析xml方法实现

- (void)xml

{

    //此时解析后的数据都已经放入了doc

    GDataXMLDocument *doc = [[GDataXMLDocument allocinitWithXMLString:[self fileContentoptions:0error:nil];

    

    //得到根节点

    GDataXMLElement *root = [doc rootElement]; 

    //将根节点中的子节点放进数组里

    NSArray *allStudent = [root children];

    //循环遍历将子节点中的每个元素都读出来

    for (GDataXMLElement *element in allStudent) {

        GDataXMLElement *name = [[element elementsForName:@"name"objectAtIndex:0];

        GDataXMLElement *age = [[element elementsForName:@"age"objectAtIndex:0];

        GDataXMLElement *sex = [[element elementsForName:@"sex"objectAtIndex:0];

        NSString *nameStr = [name stringValue];

        NSString *ageStr = [age stringValue];

        NSString *sexStr = [sex stringValue];

        NSLog(@"name = %@, age = %@, sex = %@", nameStr, ageStr, sexStr);

    }

}

 

 

附件为我已经写完的一个XMLDemo 还会出现问题的请看一下吧!