2012-03-22 22 views
1

可能重複:
How to parse a locally stored XML file in iPhone?如何檢索iPhone中的XML文件的值?

我需要從一個XML文件中檢索值併爲每個值創建按鈕。我是iphone應用程序的初學者。請幫我.. XML文件是這樣的...

<?xml version="1.0" encoding="UTF-8"?> 
<Dataset> 
<RoundTopCategory> 
    <CategoryID>83</CategoryID> 
    <CategoryName>Lodging</CategoryName> 
</RoundTopCategory> 
<RoundTopCategory> 
    <CategoryID>84</CategoryID> 
    <CategoryName>Dining &amp;amp; Grocery</CategoryName> 
</RoundTopCategory> 
<RoundTopCategory> 
    <CategoryID>85</CategoryID> 
    <CategoryName>Retail</CategoryName> 
</RoundTopCategory> 
<RoundTopCategory> 
    <CategoryID>86</CategoryID> 
    <CategoryName>Art, Culture &amp;amp; Entertainment</CategoryName> 
</RoundTopCategory> 
<RoundTopCategory> 
    <CategoryID>87</CategoryID> 
    <CategoryName>Activities</CategoryName> 
</RoundTopCategory> 
<RoundTopCategory> 
    <CategoryID>88</CategoryID> 
    <CategoryName>Services</CategoryName> 
</RoundTopCategory> 
<RoundTopCategory> 
    <CategoryID>89</CategoryID> 
    <CategoryName>Town, Civic &amp;amp; Emergency</CategoryName> 
</RoundTopCategory> 
</Dataset> 
+2

如果您在發佈問題之前花費一些最小的努力在您的問題中搜索本網站,該怎麼辦? – MrTJ 2012-03-22 14:23:04

+1

歡迎來到堆棧溢出。請花時間閱讀[FAQ](http://stackoverflow.com/faq),特別是如何提問。請花時間找到搜索工具來檢查問題還沒有被問及和回答 – 2012-03-22 14:23:06

+0

我搜索了網站..但這些代碼導致一些錯誤.. – user1286144 2012-03-22 14:51:56

回答

2

解析iOS中的XML數據有很多選項。喬希指向NSXMLParser是一個好的開始; iOS也提供libxml。也有相當多的第三方庫旨在使iOS中的XML非常簡單,比如TouchXML。 Ray Wenderlich的文章How to Choose the Best XML Parser for iPhone Project提供了各種選項和建議的可靠概覽,以幫助您在它們之間進行選擇。

2

首先,你需要創建的NSXMLParser:

NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:xmlData]; 

然後,你需要創建一個模型來存儲從XML文件

檢索值使用方法解析XML文件:

1.- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
    namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName 
    attributes:(NSDictionary *)attributeDict {} 
2.- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string { } 

3.- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName 
    namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName {} 
2

看一看here。該鏈接教你關於使用NSXML解析器的所有信息

2

解析XML文件是基於客戶端服務器的應用程序中的常見任務。 Apple提供用於解析XML文件的NSXMLParser類。研究programming guide這將是最有幫助的。有關快速解決方案和教程,請參閱this鏈接。您可以從上面的教程中一步一步解釋XML解析。