如何从iphone中的XML文件中检索值?

时间:2012-03-22 14:16:14

标签: iphone

  

可能重复:
  How to parse a locally stored XML file in iPhone?

我需要从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>

4 个答案:

答案 0 :(得分:3)

我相信NSXMLParser正是您所寻找的。文档非常适合它。

答案 1 :(得分:2)

在iOS中解析XML数据有很多选择。 Josh指向NSXMLParser是一个好的开始; iOS还提供libxml。还有相当多的第三方库旨在使iOS中的XML变得非常简单,例如TouchXML。 Ray Wenderlich的文章How to Choose the Best XML Parser for iPhone Project提供了各种选项和建议的可靠概述,以帮助您在它们之间进行选择。

答案 2 :(得分: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 {}

答案 3 :(得分:2)

解析XML文件是基于客户端服务器的应用程序中的常见任务。 Apple提供NSXMLParser类来解析XML文件。研究最有帮助的programming guide。有关快速解决方案和教程,请参阅this链接。您可以通过上面的教程中的分步说明来学习XML解析。