SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CurlデベロッパーセンターPick Up(AD)

逆引きリファレンスから見る
Curl開発「データ操作」のポイント(後編)

SAXパーサー、DOMパーサーを使ったXMLフォーマットの利用方法

  • X ポスト
  • このエントリーをはてなブックマークに追加

 XML構文解析イベントの流れとしては、まずstart-documentメソッドが実行されます。ノードを読み込むとstart-elementメソッドが実行され、タグ名や属性などを取得できます。次に、start-elementメソッドが終了すると、charactersメソッドが実行され、テキストを取得できます。最後に終了タグを読み込むため、end-elementメソッドの中身が実行されます。

 これらのハンドラの呼び出し方法は、以下のようにSAXパーサーを作成し、set-content-handlerを使用して、上記で作成したイベントハンドラを登録します。

{let xr:XMLReader = {SAXParser}}
{let handler:MySAXApp = {MySAXAppt}}
{xr.set-content-handler handler}

 そして、SAXパーサーのparseメソッドを使用してXMLデータを解析します。

{xr.parse {InputSource system-id = XMLデータのURL}}
実行結果
#start-document
#start-element
 タグ = RecordSet
 属性名 = <null>
 属性 = <null>
#characters
 要素 = 
  
#start-element
 タグ = Record
 属性名 = name
 属性 = AAA
#characters
 要素 = 
    
#start-element
 タグ = Value
 属性名 = <null>
 属性 = <null>
#characters
 要素 = "123"
#end-element
 タグ = Value
#characters
 要素 = 
    
#start-element
 タグ = Value
 属性名 = <null>
 属性 = <null>
#characters
 要素 = "456"
#end-element
 タグ = Value
#characters
 要素 = 
  
#end-element
 タグ = Record
#characters
 要素 = 
  
#start-element
 タグ = Record
 属性名 = name
 属性 = BBB
#characters
 要素 = 
    
#start-element
 タグ = Value
 属性名 = <null>
 属性 = <null>
#characters
 要素 = "xyz"
#end-element
 タグ = Value
#characters
 要素 = 
  
#end-element
 タグ = Record
#characters
 要素 =
#end-element
 タグ = RecordSet
#end-document

次のページ
XMLフォーマットの利用(DOMパーサー)

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
CurlデベロッパーセンターPick Up連載記事一覧

もっと読む

この記事の著者

住商情報システム株式会社(スミショウジョウホウシステムカブシキガイシャ)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5860 2011/03/31 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング