1
我仍然在解析一个XML文件时环顾我的脑海。目前我正在使用TBXML从XML文件获取信息。在XML中访问子项?
以下是我从不同的XML文件中得到了一些数据:
TBXML *XML = [[TBXML tbxmlWithURL:[NSURL URLWithString:locationString]] retain];
TBXMLElement *rootXML = XML.rootXMLElement;
TBXMLElement *e = [TBXML childElementNamed:@"Result" parentElement:rootXML];
TBXMLElement *WOEID = [TBXML childElementNamed:@"woeid" parentElement:e];
NSString *woeid = [TBXML textForElement:WOEID];
它工作的罚款。
但是,现在我想从这个例子中获取雅虎RSS XML文件的温度。
http://weather.yahooapis.com/forecastrss?w=12700023
我不知道如何访问一个包含天气行。我如何使用TBXML来做到这一点?
谢谢!
它的工作原理,虽然调用'[温度单位发布];'它崩溃的应用程序。也许它是零。我开始认为使用TBXML是一个坏主意,我应该坚持使用默认的NSXML吗? – 2010-12-12 05:30:41
实际上,这是因为'temperatureUnits' *不是*零(零忽略消息)。已经很晚了,我把自己搞糊涂了,认为“温度单位”正在循环。 “温度单位”的“保留”/“释放”并不是严格意义上的必要。原本,我正朝着另一个方向前进。通过将'temperatureUnits'设置为释放后(如更新后的答案)或删除'retain'&'release'来修复它。 – outis 2010-12-12 11:36:03
我会用'NSXML',因为它支持[XPath和XQuery](http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/NSXML_Concepts/Articles/QueryingXML.html#//apple_ref/doc/uid/TP40001258-CJBFCGEG),所以你可以直接访问你想要的节点。 – outis 2010-12-12 11:39:23