2011-06-13 17 views
5

NSXML पार्सर का उपयोग करके आप XML से विशेषताओं को कैसे निकालते हैं ??NSXMLParser पार्सिंग विशेषताएँ

यहाँ मेरा xml:

<item> 
<title>Button hails 'amazing' win</title> 
<description>Jenson Button hailed yesterday's crazy Canadian Grand Prix victory as the best of his Formula One career. 
</description> 
<link>http://www.skysports.com/story/0,19528,12433_6986809,00.html</link> 
<guid isPermaLink="false">12433_6986809</guid> 
<pubDate>Mon, 13 Jun 2011 06:21:00 GMT</pubDate> 
<category>News Story</category> 
<enclosure type="image/jpg" url="http://img.skysports.com/11/06/128x67/Canadian-GP-Jenson-Button-celebrates1_2609288.jpg" length="123456" /> 
</item> 

मैं बाड़े टैग से URL प्राप्त करने की जरूरत है।

धन्यवाद

उत्तर

15
if([elementName isEqualToString:@"enclosure"]) 
{ 
    NSString *urlValue=[attributeDict valueForKey:@"url"]; 
    NSString *urlValue=[attributeDict valueForKey:@"type"]; 
    NSString *urlValue=[attributeDict valueForKey:@"length"]; 
} 
+1

+1 ... सरल एन अच्छा जवाब .. :)) – mAc

+1

हां इसका अच्छा जवाब .. –

+0

उत्तर के लिए धन्यवाद। मैं यह जोड़ना चाहता हूं कि इन पंक्तियों को 'NSXMLParser' की प्रतिनिधि विधि पर जाना चाहिए जो है: ' - (शून्य) पार्सर: (NSXMLParser *) पार्सर didStartElement: (NSString *) तत्वनाम नामस्थान: (एनएसएसटींग *) नामस्थान योग्य नाम: (एनएसएसटींग *) योग्य नाम विशेषताएँ: (NSDictionary *) विशेषता Dict'। – Neeku

1

विधि ...

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

आप विशेषताओं का एक शब्दकोश और उनके कुंजियों (attributeDict) देता है ... एक प्रवेश keyed "Url" के लिए देखो जब elementName के बराबर है "बाड़े" ...

3

आप NSXMLParser और उसके प्रतिनिधि कार्यों का उपयोग करने की आवश्यकता है

-

(BOOL) parse:(NSData *)xmlData 


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



} 

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{ 

} 

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{ 

} 

तो आप इस

if([elementName isEqualToString:@"enclosure"]) 
    { 
     NSMutableDictionary *Dict=[NSMutableDictionary dictionary]; 
     [Dict setObject:[attributeDict valueForKey:@"url"] forKey:@"url"]; 
     [categoryDict setObject:[attributeDict valueForKey:@"type"] forKey:@"type"]; 

    } 
0

जैसे कुछ बात उपयोग करने की आवश्यकता यहाँ विवरण है:

enter image description here

उपयोग एक्सएमएल प्रतिनिधि विधि:: विशेषता के साथ उदाहरण एक्सएमएल

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName 
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName 
attributes:(NSDictionary *)attributeDict 
{ 
    if ([elementName isEqualToString:@"remoteContent"]){ 
     NSString* href = [attributeDict objectForKey:@"href"]; 
     NSLog(@"href %@",href); 
     [someArray addObject:href]; 
    } 
} 
संबंधित मुद्दे