2011-10-20 199 views
0

我是iPhone開發新手,這個問題可能很簡單,但我不知道答案。解析具有不同屬性但具有不同屬性的元素

問題:我有這樣的XML代碼:

<im:image height="53"> 
    picture52x52.jpg 
</im:image> 

<im:image height="75"> 
    picture75x75.jpg 
</im:image> 

<im:image height="100"> 
    picture100x100.jpg 
</im:image> 

我只需要解析的第二個元素(第二要素,第二張圖片),但我不知道怎麼辦。我總是解析三個元素,但我只需要一個。

回答

2
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict 
{ 
     NSString *imageSize = [NSString stringWithString:[attributeDict valueForKey:@"height"]]; 
     if([imageSize isEqualToString:@"75"]) 
     { 
      // parse something like this 
     } 
} 
0

讓我建議你多了一個解決方案,你可以在CDATA附上圖片名稱,即。生成XML這樣的 -

<im:image height="53"> 
    <![CDATA[picture52x52.jpg]]> 
</im:image> 

<im:image height="75"> 
    <![CDATA[picture75x75.jpg]]> 
</im:image> 

<im:image height="100"> 
    <![CDATA[picture100x100.jpg]]> 
</im:image> 

並且簡單地使用該委託方法:

- (void)parser:(NSXMLParser *)parser foundCDATA:(NSData *)CDATABlock

如果是CDATA塊內包圍的唯一元件。

希望你能理解;)

相關問題