私が書いているクラスでは、2つの異なるxmlを解析するためにNSXMLParserを2回使用する必要がありますが、どちらのアプローチを使用すべきか疑問に思っていますか?--URLの解析が終了したらパーサーを解放し、2番目のURLを解析する必要があるときに再初期化しますか?-他のURLを解析するためのデリゲートとして別のクラスを使用しますか?- または、他の何か?
ありがとうピーター
私が書いているクラスでは、2つの異なるxmlを解析するためにNSXMLParserを2回使用する必要がありますが、どちらのアプローチを使用すべきか疑問に思っていますか?--URLの解析が終了したらパーサーを解放し、2番目のURLを解析する必要があるときに再初期化しますか?-他のURLを解析するためのデリゲートとして別のクラスを使用しますか?- または、他の何か?
ありがとうピーター
私自身の個人的な経験では、通常、いくつかの異なるREST xml応答を解析する必要があり、それぞれについて基本クラスを継承し、要求/応答/解析ごとに1つのクラスを作成します。私見ですが、これはクリーンなコードではありませんが、SAXスタイルのパーサーを扱うときにクリーンなコードを書くことは正直不可能だと思います。
私のアドバイスは、コードに大量のif-elseが必要ない場合は、個別の呼び出しと、おそらく個別のクラスです。XMLが非常に似ている場合は、別の話になる可能性があります...
パーサーメソッドを実装するクラスを作成しました。文字列(URL)を渡すだけです。要素の配列で戻ります。それはあなたに役立つかもしれません。
ここからダウンロードできます:http ://www.kieranmcgrady.me/helper-classes-for-parsing-xml-files
過去に、私が期待した各応答タイプを解析するクラスを作成することがよくありました。NSXMLParserを再利用できますが、実際にはその必要性はわかりませんでした。
要件によっては、ネストされたNSDictionariesに応答を読み込んでから、辞書から直接必要な要素にアクセスすることもできます。