2010-10-09 43 views
0

比方说,我得到我从一些web服务接收XML文件,像这两个例子..什么是解析XML和构建核心数据数据库的最有效的过程?

<news> 
<item id="123" created="10/09/10" expires="07/07/10" modified="10/09/10"> 
<title>Xiabo receives Nobel></title> 
<content>Lorem ipsum lorem ipsum</content> 
</item> 
</news> 

<products> 
<item id="1" category="shoes"> 
<name>Nike Air</name> 
<logo><![CDATA[http://example.com/images/logos/nikeair.png]></logo> 
<content>Lorem ipsum lorem ipsum</content> 
</item> 
<item id="2" category="jeans"> 
<name>Wrangler</name> 
<logo><![CDATA[http://example.com/images/logos/wrangler.png]></logo> 
<content>Lorem ipsum lorem ipsum</content> 
</item> 
</products> 

我将如何解析这些XML文件,然后将它们添加到核心数据,所以下一次我加载应用程序中的数据将在那里而不需要重新加载XML。

对不起,我的问题太模糊了,我只是试图让我的头靠近它。

回答

1

如果您对Web服务有任何控制,则应该将XML格式更改为JSON。 Obj-C可以非常有效地消化JSON。 XML解析(使用xmllib或NSXMLParser)效率不高。我的实证分析表明NSXMLParser以牺牲灵活性为代价更快。

+0

不幸的是,我没有这样的控制。 – cannyboy 2010-10-09 17:24:18

+0

最简单的(不是最好的)解决方案是将这个xml转储为文本文件或blob,并使用与解析网络数据流相同的代码将其解析为业务对象。 – bioffe 2010-10-09 17:48:40

相关问题