如何提取NSUserDefault的一部分以放入UITableView,UIButton文本甚至是UILabel?

时间:2012-04-15 08:32:47

标签: iphone xml xcode nsstring xml-parsing

我使用以下方法缓存了url的内容,并将文本保存为NSUserDefault,因为我需要在另一个UIViewController中访问它。

这是我用来下载URL内容并保存为NSUserDefault的代码,这是我用来将NSUserDefault的内容加载到UITableView中的代码。

//下载URL内容并保存到NSUser默认

NSString *url = [[NSString stringWithFormat:@"http://www.pharmacon.site50.net/database/1.xml"] stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
NSString *myTxtFile = [NSString stringWithContentsOfURL:[NSURL URLWithString:url] encoding:NSUTF8StringEncoding error:&err];
[[NSUserDefaults standardUserDefaults] setObject:myTxtFile forKey:@"one"];

//加载NSUserDefault并将其放在UITextView

NSString *myTxtFile = [[NSUserDefaults standardUserDefaults] stringForKey:@"one"];
textView.text=myTxtFile; 

以下是我下载的典型XML文件;

<item>
<din>1</din>
<category>Drugs</category>
<name>Paracetamol</name>
<phonetic>Pa-ra-ce-ta-mol</phonetic>
<spoken>Paracetamol.mp3</spoken>
<description>
Paracetamol is a drug commonly used for headaches and minor aches and pains.
</description>
<purpose>
Paracetamol is best used for minor to moderate aches and pains and can also be used to treat mild headaches.
</purpose>
<author>Sam Vale</author>
<editor>Harrison Fuller</editor>
</item>

现在,我想要做的是读取这个NSUserDefault,但实际上只提取名称区域中的文本(所以在这种情况下,“Paracetamol”)然后将其放入UITableView单元格的文本中,作为按钮或UILabel的文本(选择你认为最好的或你知道的)。我想这样做的原因是因为我将显示我在UITableView中从数据库下载的结果。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

你需要NSXMLParser。有很多关于如何使用它来解析互联网上可用XML的例子。