使用libxml2解析存储在NSData中的XML

时间:2011-04-17 10:42:20

标签: iphone xml

请帮助我使用libxml2来解析存储在NSMutableData对象中的XML?我使用

获取XML
NSString *path = "http://www.mySite.com/XMLPATH.xml";

NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:path] cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0];
connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];

    - (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data_
    { 
        [data appendData:data_];
    }

其中dataNSMutableData的实例。

现在我如何启动libxml2来解析这些数据?我需要相当于

NSString *xml; // string containing XML
    mlDocPtr doc = xmlParseMemory([xml UTF8String], [xml lengthOfBytesUsingEncoding:NSUTF8StringEncoding]);

其中xml是我的NSMutabledata而不是NSString。

谢谢!

修改

我目前正在使用NSXMLParser来完成这项工作,但我希望有一个解析器能够使用其节点结构自动解析所有XML。使用NSXMLParser,我需要手动设置XML的节点结构

1 个答案:

答案 0 :(得分:0)

您没有使用NSXMLParser的任何原因。它是Apple编写的一个很好的包装器,包含在所有iOS版本中。

http://developer.apple.com/library/mac/ipad/#documentation/Cocoa/Reference/Foundation/Classes/NSXMLParser_Class/Reference/Reference.html