NSXMLParserを使用して、このXMLを解析しています:http://itunes.apple.com/gb/rss/topsongs/limit=50/explicit=true/xml。私は "im:image"という要素を解析しようとしています。私の問題は、「im:image」という名前の3つの要素があることです。 2番目の「im:image」のデータのみを解析するにはどうしたらよいですか、またはそれぞれの配列をどのように配列に追加できますか?カスタムデリゲートのdidStartElement
方法でNSXMLParser 3つの同じ要素
答えて
、attributes
をチェックし、それが(「同じ」XML要素のそれぞれが異なるheight属性を持っている)60
にheight
セットを持っていることを確認してください。 attributes
はNSDictionary
で、属性の名前と属性の値の値のキーがあります。ここでは、あなたがそれを行うだろう大体方法の例です:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict {
if ([[attributeDict objectForKey:@"height"] isEqualToString:@"60"]) {
NSLog(@"store");
}
}
これはおそらくそれを行うための最善の方法はありませんが、このような何かが私に起こったとき、私は単純にcounter
という名前NSInteger
を作成しました。その後didStartElement
に私はこれをしなかった。このため
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName
attributes:(NSDictionary *)attributeDict {
if([elementName isEqualToString:@"yweather:forecast"])
{
int code = [[attributeDict objectForKey:@"code"] intValue];
if (counter == 0) {
}
if (counter == 1) {
conditionCode = code;
}
counter ++;
}
}
このアプローチの問題の1つは、生成されるXML文書に要素の順序が変更された場合(何らかの理由で)、異なる結果が生成されることです。通常、文書を自分で生成すると問題はありませんが、外部サービス(たとえば、iTunesデータなど)にアクセスするときにはリスクが発生します。 –
私はそれが最良のアプローチではないことに同意しますが、ねえ!できます。 :) –
- 1. NSXMLParser、同じ要素の2つヘルプ!
- 2. 同じIDを持つ要素のフェーディング
- 3. 2つのベクトルの同じインデックスを持つ同じ要素を見つける
- 4. 同じキュー要素
- 5. AngularJS:同じ要素
- 6. 3つの配列の要素を同じIDでマージできますか?
- 7. のJava:同じ要素
- 8. 同じJSON要素のマージ
- 9. 同じインデックスの要素
- 10. 同じ要素のアニメーション
- 11. NSXMLParserは、名前空間を持つ要素
- 12. リストには同じ要素が3つ含まれていますか?
- 13. 同じ名前の2つの要素を持つXMLのXSD
- 14. 要素が同じJavaファイル
- 15. 同じ名前の要素を解析しますか?
- 16. 2つのシーケンス間で同じ要素を見つける
- 17. 同じ要素を持つjQueryオーバーレイを開く/閉じる
- 18. Selenium Webdriver - 同じIDの複数の要素を持つ隠し要素をクリック
- 19. Xamarin.UITestカスタムコントロールの子要素が同じAutomationIDを持つ子要素をタップ
- 20. jQuery:同じsrcを持つ要素を見つける方法
- 21. NSXMLParserを特定の要素の後の要素に制限する方法
- 22. 同じui-viewのanglejs内のいくつかの要素
- 23. div内の2つのtd要素の同じxpath
- 24. 配列要素の参照同じ配列の別の要素
- 25. DataContract XMLのデシリアライズ - 同じ要素内の要素とプロパティのリスト
- 26. 子要素と同じタグを持つルート要素によるJAXB ClassCastException
- 27. 同じ行と同じコンテナ内の中央揃え要素
- 28. 2つの異なるv-on:同じ要素内でのクリック
- 29. Zendフォームの同じ行にある2つのテキスト要素
- 30. CSSの問題:同じ要素を持つ複数のCSSは
おかげで(私は私の場合には第二の要素を探していました)。しかし、どうすればそれを保管することができますか? – MKDev
好きなだけ保存してください。それを配列、セット、辞書に追加します。それはあなたがそれをどのように使用しているのか、それをどのように取得したいのかによって異なります。 –
ありがとう、私はそれが見つかった文字メソッドではないので、このイメージのURLを得ることができますか? – MKDev