2011-07-28 9 views
2

私はrssをnsxmlparserを使って解析しています。私はrssからいくつかの画像を取得したいと思います...どうすればいいですか?ので、ここでNSXMLParser rss画像URL?

はRSSの一例である

<p><img scr = "IMGURL"></p> 

は、どのように私は "IMGURL" を

おかげで、あなたは、XQueryのようなXMLパーサーを使用する必要が TC

答えて

2

クイックハックである - 場合にのみ、この操作を行いますあなたは文字列が位置を変えないことを知っています。そうしないと、クラッシュする危険があります。

//for demo purposes lets say your <p><img scr = "IMGURL"></p> is a string named sourceString 
//chop it up into an array like this and grab it from the arrays position 

//create an array 
NSArray *tempArray = [sourceString componentsSeparatedByString:@"\""]; 

//what this has done, it has create an array of objects from your source string separated by " 
//so in your tempArray you will have two objects 
// objectAtIndex 0 will be: <p><img scr = you wont need this so we can ignore it 
// objectAtIndex 1 will be the string you want. it will be: IMGURL 
// so now you can quickly create a string from it like this 
NSString * imgURL = [[tempArray objectAtIndex:1]description]; 

これはすばやく汚れたトリックですが、動作します!データが同じ形式のままである限り。あなたの電話!

+0

それは.....最高のやり方ではなく感謝しています –

2

を得ることができます。クエリは次のようになります。/ P/IMG @ SRC、次のような機能を使用することができます。

NSString *stringForXQuery(NSXMLNode *node, NSString *query) 
{ 
    NSArray *results = [node objectsForXQuery:query constants:nil error:nil]; 
    NSUInteger howManyResults = [results count]; 
    if (howManyResults != 1) { 
     return nil; 
    } 
    return [[results objectAtIndex:0] stringValue]; 
} 

そして、このようにそれを呼び出します。ここでは

NSString *imgURL = stringForXQuery([yourxmldocument rootElement], @"/p/[email protected]");