我只需要读取一个.xml文件;像这样:
<exchanges>
<exchange>
<timestamp>2010-08-19 17:15:56</timestamp>
<userid>Elijah-Woods-MacBook-Pro.local</userid>
<clientname>elijah</clientname>
<botid>Jarvis</botid>
<input>firsthello</input>
<response>Hello, sir. How may I help you?</response>
</exchange>
</exchanges>
然后,解析'response'标签之间的内容。
利亚
答案 0 :(得分:3)
基本思想,代码不完整..基于GDataXML
http://code.google.com/p/gdata-objectivec-client/source/browse/trunk/Source/XMLSupport/
还可以看到多个解析器的分析
http://www.raywenderlich.com/553/how-to-chose-the-best-xml-parser-for-your-iphone-project
NSArray *entries = [doc nodesForXPath:@"//exchanges/exchange" error:nil];
for (GDataXMLElement *entry in entries) {
NSMutableDictionary * dict = [[[NSMutableDictionary alloc]initWithCapacity:7 ] autorelease];
[dict setValue:[[[entry elementsForName:@"timestamp"] objectAtIndex:0] stringValue] forKey:@"timestamp"];
[dict setValue:[[[entry elementsForName:@"userid"] objectAtIndex:0] stringValue] forKey:@"userid"];
[dict setValue:[[[entry elementsForName:@"clientname"] objectAtIndex:0] stringValue] forKey:@"clientname"];
[dict setValue:[[[entry elementsForName:@"botid"] objectAtIndex:0] stringValue] forKey:@"botid"];
[dict setValue:[[[entry elementsForName:@"input"] objectAtIndex:0] stringValue] forKey:@"input"];
[dict setValue:[[[entry elementsForName:@"response"] objectAtIndex:0] stringValue] forKey:@"response"];
}
答案 1 :(得分:2)
在Cocoa中解析XML有两种选择:
事件驱动的解析对内存的密集程度较低,但由于您不构建整个XML树,因此无法使用XPath或XQuery来获取有关该文档的信息。基于树的一般使用更多内存(因为整个XML文档被转换为对象形式并存储在内存中),但它提供了更强大的机制,可以从树中获取数据。
答案 2 :(得分:0)
TouchXML也是iPhone上非常好的XML库。它被证明是解析速度最快的之一。
如果你有很好的“touchxml iphone教程”,还有更多的在线