問題タブ [nsxmlparser]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - NSXmlParser のさまざまなデリゲートの使用
私は何かを設計するための最良の方法を見つけようとしています。私は iPhone アプリを作成していますが、ほとんどの場合、Web サービスへの非同期呼び出しを使用しています。これは、URLConnection を設定し、start を呼び出して、データが利用可能になるか例外が発生したときにコールバックできるようにすることを意味します。これはうまく機能し、物事を処理する正しい方法だと思います。
例えば:
Web サービスから人のリストをリクエストします。結果のリストは、XmlDelegate によって object-c の「Person」オブジェクトに変換される Xml Person 要素です。
人物を取得する関数を呼び出すときは、「PersonReceived:(Person *)p」という単一の関数を持つプロトコルである「PersonResultDelegate」を渡します。したがって、完全な Person オブジェクトを取得するたびに、そのメソッドを呼び出すと、すべてがうまくいきます。したがって、私の詳細ビュー (または検索結果ビュー) は、利用可能な要素を受け取るだけです。
問題は、複数の特定のオブジェクトを取得する必要がある場合に発生します。私の特定のケースでは、人の最初と最後の予定を取得する必要があります。したがって、これら 2 つの単一の Appointment オブジェクトを取得するには、2 つの API 呼び出しを行う必要があります。各 Appointment オブジェクトは、登録された AppointmentResultDelegate への呼び出しになりますが、どれが最初でどれが最後かをどうやって知るのでしょうか? また、「最初」または「最後」の予定がなく、デリゲートが呼び出されない場合にも、何らかの方法で処理する必要があります。
これを処理するための設計上の正しい方法は何でしょうか? デリゲートのハンドルに返される最初のリクエストに追加のコンテキスト情報を追加する必要がありますか? 最初の呼び出しを行った人だけが意味を持つ不透明なデータですか? 他のオプションは何ですか?
解決
私が実際にやったことは、不透明なデータを Appointment と共にデリゲートに渡すことです。したがって、予定オブジェクトをリクエストすると、次のようなメソッドがあります。
このようにして、代理人が呼び出されたときに、どの予定が配信されているかがわかります。
iphone - NSXMLParserの再利用
私が書いているクラスでは、2つの異なるxmlを解析するためにNSXMLParserを2回使用する必要がありますが、どちらのアプローチを使用すべきか疑問に思っていますか?--URLの解析が終了したらパーサーを解放し、2番目のURLを解析する必要があるときに再初期化しますか?-他のURLを解析するためのデリゲートとして別のクラスを使用しますか?- または、他の何か?
ありがとうピーター
ios - テーブルビューすべてのセルに最後のxmlエントリを入力するiphone
XML を解析して (問題ないようです)、Iphone でテーブル ビューにデータを入力しようとしています。私はapples siemecの例から取り組んでいます。私の XML は次のようになり、artist1 から artist10 までの約 10 個のエントリがあります。
<promo>
<id>
42
</id>
<artistname>
artist1
</artistname>
<img>
http://address.com/avatar_42.jpg
</img>
</promo>
ブレークポイントを設定すると、正しい名前がすべて表示されますが、解析が完了すると、テーブル内の 10 個のセルすべてに「artist10:
xml のコードは、テーブル ビュー コントローラーとしてファイル内にあります。ばかげた間違いを明らかにしている何かが見えますか?
そして、これがテーブルビューにデータを入力する方法です
iphone - NSXMLParser エラー コード:5、iphone
nsxmlparser を使用して xml を解析しようとすると、このエラー コードが表示されます。このエラー コードは何を指していますか
iphone - iPhone-NSXMLParserを使用して.plist(xml)ファイルを解析できますか?
重複の可能性:
CocoaでのXMLの解析
iPhone-NSXMLParserを使用して.plist(xml)ファイルを解析できますか?
iphone - 子要素がxml解析で見つからない場合、配列にデフォルト値を追加するにはどうすればよいですか?
私はiPhone開発に不慣れです。XMLページを解析してコンテンツをテーブルビューに表示しています。XMLページの一部のブロックで子要素が欠落しています。子要素の場合、配列に値oを追加したいと思います。特定のブロックが好きではありません。私のXMLファイルは次のようなものです。
gd:ratingsタグを解析し、その属性numRates値をテーブルビューに表示しています。numRatesの値を格納する可変配列があります。2番目のブロックが解析されるときに、gd:ratingsタグが含まれていないため、配列にオブジェクト「O」を追加する必要があります。値は属性タグに存在するため、コンテンツを取得して可変配列に追加するには、NSXMLパーサーのDidStartElementメソッドを使用します。
エントリタグが25ブロックあり、その10ブロックにgd評価要素がないため、配列stories2配列には15個の値しかないため、テーブルビューに順番に表示できません。属性タグを取得する方法はありますか。 「見つかった文字」メソッドで。手伝ってください。ありがとう。
iphone - 名前空間は XML と何の関係がありますか?
ここで何かが私を混乱させます:
NSXMLParser メソッドには、namespaceURI 属性があります。
ドキュメントから、「名前空間」が何を意味するのかわかりませんでした。XML の名前空間とは何か、なぜそれが必要なのか、誰かが例を挙げて説明できますか?
編集:はい、ウィキペディアに気づきました。しかし、これまた紛らわしいです。次のように、XML ファイルの先頭に 1 つの名前空間宣言を配置することにどのような意味がありますか?
?? 繰り返しますが、それはまったく意味がありません。ウィキペディアには、名前空間が本当に必要な理由と、さらに重要なことに、これが XML ファイルでどのように見えるかについて、それを取得するための有用な例がありません。ID のような複数の同じ名前の要素のあいまいさを解決するためだと彼らは言いますが、複数の名前空間がそれを解決する方法の例はありません。
iphone - NSXMLParser を停止するにはどうすればよいですか?
私は何を間違っていますか?xmlparser に解析を停止させることができません。ブレークポイントを設定する[xmlParser abortParsing];
と実行されます。しかし、if(success)
私のコードは次のとおりです。
iphone - NSXMLParser の奇妙なシンボル
問題が発生しました。私が解析しようとするものはすべてNSXMLParser
「†Êá」(要素の名前、要素テキスト...)で終わります
私はさまざまなソース (サーバーから解析したい単純なNSString
ソース、および XML を提供する Web のさまざまなソースから) を試し、毎回 "†Êá" を試しました。
およびデリゲート メソッド
ANSIやUTF8などのさまざまなエンコーディングも試しましたが、それでも次の結果が得られます。
iphone - iphone のデリゲートを作成します (別のファイルに)
私は何時間も探していましたが、何も見つからなかったので、あきらめてあなたの貴重な知識を求めることにしました;)
コードをきれいにするために、別のファイルに NSXMLParser のデリゲート メソッドを実装したいと考えていますが、チュートリアルが見つかりませんでした ...
誰かがそれを行う方法を簡単に説明してもらえますか?
乾杯の仲間、
ゴーティエ。