個人財務 SAXでXMLイベントを解析する

SAXでXMLイベントを解析する

目次:

ビデオ: 第01集:Android使用sax解析xml [Android解析XML文件] [老罗Android开发视频教程] 2024

ビデオ: 第01集:Android使用sax解析xml [Android解析XML文件] [老罗Android开发视频教程] 2024
Anonim

イベント という単語はすべての種類の画像を作成します。プログラマーでない人にとって、イベントはちょうど「起こること」です。 「Javaのウィンドウとフレームを扱うのに慣れていたのなら、おそらくイベントはコードを起こすオカレンスと考えているでしょう。例えば、ユーザのマウスクリックまたはキーストロークは、オプションを設定するコードを起動させ、OKボックスを表示する。クリックまたはキーストローク自体は、実行中のプログラムとは独立して発生するため、 イベント と呼ばれます。ユーザーは、そのボタンをいつ押すかを知っているだけです。ボタンが押されると、Javaプログラムの一部が起動し、状況を処理します。このシナリオは イベント駆動型プログラミング と呼ばれます。

<! - 1 - >

イベント駆動型プログラミング

SAXプログラムはイベント駆動型 です。たとえば、あなたはおやすみのために寝る。あなたは目覚まし時計を設定して解決し、目を閉じ、何時間も無意識になってしまいます。その後、重要なイベントが発生します。特定の時刻が到着します。イベントが発生すると、目覚まし時計は "目を覚ます"モードに入り、あなたの安らかな眠りの中からあなたをびっくりさせます。 <! - 2 - >

別のシナリオがあります。あなたは忙しい幹部です。あなたは数時間外出しますが、重要なビジネスを見逃したくはありません。事務所を出る前に、あなたのアシスタントに、「重要なことがあれば私に電話してください。 「この注文を発行することは、目覚まし時計を設定することと似ています。あなたのアシスタント(あなたの目覚まし時計)に、イベントが起こったときに目を覚ますように指示しています。あなたのアシスタント(または目覚まし時計)にこの要求をすることは、

登録 と呼ばれます。いずれのシナリオでも、起床サービスを登録しています。登録した後は、何かイベントが発生するまで、すべての実際のビジネスを無視して、ゆっくりと非活動を追いかけることができます。それで… <! - 3 - >

リング、リング。

あなたの携帯電話があなたに腹を立てています。 "こんにちは? " "こんにちは。これはあなたの助手です。私は第1四半期の売上高があります。彼らは100万人、400万人、200万人です。 "

"見てみましょう。それは合計700万です」と、あなたは言う。 「私はPalmPilotでメモします。ありがとう。 "あなたは電話を切る。

しばらくしてもう一度電話します。 Big Bigs社の社長は、この契約を締結したいと考えている。彼らは1000万ドルを話している。 "

<! - 1 - >

"うーん、"あなたは応えます。 "それは私たちの年初来の収入を最大17メガバックスにするでしょう。その情報をスプレッドシートアプリケーションに保存します。お電話ありがとう。 "

これらの相互作用のそれぞれは、

コールバック として知られています。その日の早いうちに、アシスタントにあなたの希望を登録したときにコールバックをリクエストしました。その後、イベントが発生するたびに、アシスタントはコールバックを作成してイベントについて通知します。 Javaプログラミングの用語では、アシスタントは多くのメソッド(Javaサブプログラムの1つ)を呼び出します。 <!イベント駆動型プログラミングの本質

イベント駆動型プログラミングには、

登録:

の3つの部分があります。この願い事には別のコード、別のオブジェクト、通常はインポートしたオブジェクト(他のAPIの一部であるコードなど)を登録します。このオブジェクトは、シーンの背後から、指定したイベントの発生を監視します。

  • - >
    イベントの発生:
特定のイベントが発生します。
  • コールバック: 他のコードがコールバックを実行します。あなたのメソッドの1つが呼び出されます。
  • 2種類のコード

アクティブなコードと

パッシブ コードを区別すると便利です。 アクティブコードには主な方法があります。 アクティブなコードは、実行を開始すると中心的な段階に入ります。アクティブなコードには、ボールゲーム全体を制御する実行スレッドが含まれています。 受動コードがそこに座って呼び出されるのを待っています。

  • パッシブダイスクラスは、他のコードがダイスを呼び出すまでは何もしません。ロール()。 パッシブコードはイベントドリブンプログラミングに必要なものだと思うかもしれませんが、そうではありません。イベント処理のためには、この登録ステップが必要です。パッシブコードは、他のコードとの登録によって開始されます。
  • この登録概念を確立するために、マウス、ウィンドウ、ボタンの画面上の世界の例を考えてみましょう。ウィンドウまたはフレームを作成します。フレームがマウスクリックに反応するようにするには、次のコマンドを発行します: ボタン。 addMouseListener(this);

このコマンドは、フレームにボタンを登録します。実際には、マウスイベントが発生するたびに、フレームのマウス処理メソッド

の1つを呼び出します。後で、ユーザーがマウスをクリックすると、フレームがコールバックを取得します。コンピュータは、フレームのmouseClickedメソッドを呼び出します。

SAXイベント

もちろん、SAXはイベント駆動型ですが、これはSAXプログラムがマウスクリックを待つことを意味するものではありません。代わりに、SAXコードは、最後のいくつかの段落で説明されているregister-event-callbackモデルに従います。すべてのSAXプログラムには、2つの不可欠なコードがあります。 書くコード - ハンドラー

と呼ばれます。

(あなたのハンドラは、あらかじめ書かれたDefaultHandlerクラスを拡張することができます。)

  • ハンドラは、前のセクションの百万ドルの役員のようです。 あなたが通常書いていないコード - パーサ
  • パーサは役員のアシスタントの役割と同じ役割を果たす。 Java 1.4 APIにはパーサが組み込まれています。このパーサの
  • インスタンス を作成し、ハンドラをそのパーサインスタンスに登録します。実際には、イベントが発生するたびにハンドラをコールバックするようにインスタンスに指示します。 XMLに関連することはすべて新しいものであり、まだ流動的な状態にあります。このため、用語はいくつかの特有の方法で一緒にパッチされています。 SAXバージョン2を開発している間に、一部の技術者はメークアップ・ニュー・ネーム・フェスティバルを開催しました。通常「パーサ」と呼ばれるものは、XMLReaderという名前のJavaインターフェイスに実装されています。以前はorgという名前のクラスがありました。 xml。サックス。パーサーですが、クラスは 廃止されました (これはあなたの靴の底から剥がすべきです)。物事をもう少し複雑にするために、さらに別の解析ツールjavaxがあります。 xml。パーサー。 SAXParser。このSAXParserを使用して、自分自身をXMLReaderにします。運があれば、すぐにこの複雑な用語に慣れることができます。今のところ、 "パーサ"と呼ばれるものは通常、XMLReaderのインスタンスです。 レジスタとコールバックのシナリオは、SAXをイベント駆動型にするものです。今面白いのは、SAXイベントは具体的ではないということです。 SAXイベントは、キーストロークまたはボタンクリックを思い出させません。 SAXでは、パーサーは上から下へXML文書をスキャンします。パーザは何か興味深いものがあれば、イベントを発生させてハンドラを呼び出します。そして、この面白い出会いについて何かをするのは、ハンドラに任されています。
SAXでXMLイベントを解析する

エディタの選択

Drupalフォーラムの有効化 - ダミー

Drupalフォーラムの有効化 - ダミー

フォーラムはユーザーコミュニティを作成するのに最適です。人々は他者からの援助を得ることができ、あなたのコンテンツに関するフィードバックを提供し、単純に社会化することができます。あなたのDrupalフォーラムは、あなたが望むようにしっかりとまたはゆるやかに制御することができます。フォーラムで許可されているカテゴリを制御できます。フォーラムの例を見るには、Drupal Forumを参照してください。 ...

ドリューパルフレンドリーなウェブホスティング会社 - ダミー

ドリューパルフレンドリーなウェブホスティング会社 - ダミー

ウェブホスティング会社は、あなたがDrupalをインストールし、あなたのサイトをウェブ上に見えるようにするWebサーバー。一部の企業では、Drupalをインストールしたり、ワンクリックでインストールすることができます。あなたがDrupalのインストールをスキップする場合は、次のいずれかのアカウントを取得することを検討してください。

Drupalガーデンサイト構造管理 - ダミー

Drupalガーデンサイト構造管理 - ダミー

Drupal Garden Structureページでは、 、ページ、およびブロックを表示します。このページから制御できる特定の機能、ブロック、およびページには、連絡先フォーム、フォーラム、メーリングリストなどがあります。ブロックで表示される機能をブロックで管理することもできます。

エディタの選択

エグゼクティブとのデータマイニング - ダミー

エグゼクティブとのデータマイニング - ダミー

数字で遊ぶという楽しみのためにデータマイニングに取り掛からない。あなたは行動を望む。あなたは正しいことを見たいと思っています。データからの確かな証拠に基づいてビジネス上の決定を下すことが重要であることを理解しています。しかし、あなたは決定を下す権限を持つ人ではありません。だからあなたは...

ビッグデータガバナンスチャレンジ - ダミー

ビッグデータガバナンスチャレンジ - ダミー

データガバナンスは、大きなデータソースが彼らがどのように管理されているか。従来のデータウェアハウスやリレーショナルデータベース管理の世界では、データ保護の必要性に関するルールをよく理解している可能性があります。たとえば、医療界では、それは...

エディタの選択

エレクトロニクスコンポーネント:赤外線ライトダミーを作成する方法

エレクトロニクスコンポーネント:赤外線ライトダミーを作成する方法

赤外線を電気的に生成するには、赤外線スペクトルで動作する特殊な発光ダイオード(LED)を使用します。赤外線LED(しばしばIR LEDと呼ばれる)は、RadioShackまたは電子部品を販売する他の店で容易に入手できます。 IR LEDは、通常のLEDと似ていますが、光を見ることはできません。

デジタルエレクトロニクス:キット74のDOSコマンド - ダミーの

デジタルエレクトロニクス:キット74のDOSコマンド - ダミーの

を通して、あなたの電子プロジェクトを制御する場合パラレルポートであるKit 74 DOSソフトウェアは、コマンドプロンプトから実行できるRELAY、DELAY、WAITFORの3つのコマンドで構成されています。 RELAYコマンドRELAYコマンドは、1バイトのデータをパラレルポートに送信します。あなたから実行できること - RELAY、DELAY、およびWAITFOR - 8つの出力端子のそれぞれが...

デジタルエレクトロニクス:フリップフロップ回路の種類? - エレクトロニクスではダミー

デジタルエレクトロニクス:フリップフロップ回路の種類? - エレクトロニクスではダミー

、フリップフロップは特殊なタイプのゲートラッチ回路です。フリップフロップにはいくつかの異なるタイプがあります。フリップフロップの最も一般的なタイプは次のとおりです。SRフリップフロップ:SRラッチに似ています。 CLOCK入力に加えて、SRフリップフロップにはSETとRESETという2つの入力があります。 SET入力がHIGHの場合...