1
我已經打了幾天我的腦袋進入牆壁,現在試圖弄清楚如何解析可可和客觀C中的這個xml文檔。我已經將它加載到NSXMLDocument中,並已能夠獲得節點。從NSXMLDocument節點獲取屬性信息
<MediaContainer noHistory="0" replaceParent="0" size="4" identifier="com.plexapp.system">
<Directory key="aHR0cDovLzE5Mi4xNjguMS45OTozMjQwMC9saWJyYXJ5L3NlY3Rpb25zLzI_" art="2/art?updatedAt=1344035442" unique="1" name="3D Movies" title="3D Movies" type="movie" serverVersion="0.9.6.7.204-266f05d" host="192.168.1.99" serverName="Eddard" path="/library/sections/2" machineIdentifier="2dddaaedb46a722cf74695c19a7d3947bbeebfd2" local="1" port="32400"/>
<Directory key="aHR0cDovLzE5Mi4xNjguMS45OTozMjQwMC9saWJyYXJ5L3NlY3Rpb25zLzE_" art="1/art?updatedAt=1344035443" unique="1" name="Movies" title="Movies" type="movie" serverVersion="0.9.6.7.204-266f05d" host="192.168.1.99" serverName="Eddard" path="/library/sections/1" machineIdentifier="2dddaaedb46a722cf74695c19a7d3947bbeebfd2" local="1" port="32400"/>
<Directory key="aHR0cDovLzE5Mi4xNjguMS45OTozMjQwMC9saWJyYXJ5L3NlY3Rpb25zLzQ_" art="4/art?updatedAt=1344035444" unique="1" name="Super Audio CDs" title="Super Audio CDs" type="movie" serverVersion="0.9.6.7.204-266f05d" host="192.168.1.99" serverName="Eddard" path="/library/sections/4" machineIdentifier="2dddaaedb46a722cf74695c19a7d3947bbeebfd2" local="1" port="32400"/>
<Directory key="aHR0cDovLzE5Mi4xNjguMS45OTozMjQwMC9saWJyYXJ5L3NlY3Rpb25zLzM_" art="3/art?updatedAt=1344037454" unique="1" name="TV Shows" title="TV Shows" type="show" serverVersion="0.9.6.7.204-266f05d" host="192.168.1.99" serverName="Eddard" path="/library/sections/3" machineIdentifier="2dddaaedb46a722cf74695c19a7d3947bbeebfd2" local="1" port="32400"/>
</MediaContainer>
是什麼讓XML文檔變得棘手是每個節點都有幾個屬性。所以當我走[節點XMLString]時,我找回完整的字符串,但仍然沒有意義。他們是從節點中拉出單個屬性的一種方法,例如類似於java XML方法的稱爲getAttribute(String)的方法,它允許我爲字符串參數放入屬性名稱並返回綁定的值,用於示例getAttribute(「大小」)將返回值爲4的字符串。
任何幫助將不勝感激。
這工作,但現在我遇到了,我希望你能一個新問題幫助我。我有一個If語句,看起來像這樣, if([elementName isEqualToString:@「Directory」]){ NSString * size = [attributeDict objectForKey:@「path」]; NSLog(@「I Ran:%@」,size); } 大小打印出爲空,然而這個if語句 如果([的ElementName isEqualToString:@ 「指南」]){ 的NSString *尺寸= [attributeDict objectForKey:@ 「標題」]; NSLog(@「I Ran:%@」,size); } 工作正常,打印出正確的信息,我不明白爲什麼會這樣。 – 2012-08-06 00:20:36
其實剛解決了它,結果我使用了錯誤的URL。感謝您的幫助 – 2012-08-06 00:45:01