2011-07-14 38 views
1

我的需求是解析一個XML文件並將其顯示在ipad.But我完全困惑如何解析這個XML文件,我是在XML解析新手。請好心幫助我如何爲它創建數組,以及如何在ipad中顯示。它的雜誌新聞應用程序,任何源代碼或示例應用程序都可以幫助我。Ipad XML解析疑惑

回答

2

iOS中有一個內置的XML解析類,名爲NSXMLParser。作爲init參數,它需要一個NSData,它通常是您從Web服務獲取的數據。將自己指定爲它的代表並呼叫[parser parse],它會在遇到元素,元素完成時調用委託,等等。請參閱parser及其delegate protocol的文檔。

如果你有在你的XML的結構控制,我發現它更容易時,它的結構是這樣的:的

<Element attr1='value1' attr2='value2' /> 

代替:

<Element> 
    <attr1>value1</attr1> 
    <attr2>value2</attr2> 
</Element> 

的原因是回調用於當它發現一個元素是:

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
    namespaceURI:(NSString *)namespaceURI 
    qualifiedName:(NSString *)qualifiedName 
    attributes:(NSDictionary *)attributeDict 

其中attributes是t的字典他重視,所以在上面的例子中,[attributes objectForKey:@"attr1"]會給你「value1」,如果它是以第一種方式構造的。如果是第二種方式,那麼最終會做很多狀態管理,這有點痛苦,尤其是如果你有元素內的元素等等。

除了NSXMLParser這些開源解析器還可以做一切都自己或包裝內置的解析器。我以前寫過自己的包裝。有關該主題的帖子,請參閱here(感謝this question的鏈接)。

+0

thankzz http://listlinkz.com/xml/1.php.this是我必須在ipad.i中做的鏈接無法將這些組件拆分爲數組 – Nipin