• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:javascriptにおけるXMLのデータ抽出)

JavaScriptでXMLデータを抽出する方法とデータ構造の選択肢

このQ&Aのポイント
  • JavaScriptを使用してXMLデータから特定のタイプを抽出する方法と、適切なデータ構造の選択肢について教えてください。
  • XMLデータの表示にはHTMLとJavaScriptを使用します。100件のデータからA、B、Cタイプのデータを抽出する方法と、データをどのように構造化するかについて教えてください。
  • XMLデータの抽出とデータ構造の選択について、JavaScriptを使用して特定のタイプのデータを抽出する方法と、データをより適切に構造化する方法について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.2

#1です。 >>Aタイプのものを抽出する、ということをする場合において、どのようにプログラムを組むのか すみません、完全に見落としていました。 あくまで一例ですが、 データ構造1の場合でtype=Aを取り出したい場合は(xmlファイルはXMLobjにロードされているとします) var persons = XMLobj.getElementsByTagName("person"); var typeAs = new Array; var i; for(i=0;i<persons.length;i++){ if(persons[i].getAttribute("type")=="A"){ typeAs.push(persons[i]) } } これでtypeAsにtype=Aのものが配列として代入されます。 ただjavascriptはブラウザにかなり依存しますので 上記では動かない場合もあることをご留意ください。 たとえば、ブラウザによっては5行目を if(persons[i].type=="A"){ としても動くかもしれません。(※未確認です)

suucha
質問者

お礼

丁寧な返答ありがとうございます。 上記のコードを参考に組んでみます。 XMLは自由な構造ゆえに悩みますね。。。

その他の回答 (1)

  • OKbokuzyo
  • ベストアンサー率43% (130/296)
回答No.1

>>XMLデータ構造としてはどのようにすればいいのか教えてください! XMLのデータ構造は完全に自由です。 なので自分たち(利用するプログラム)が扱いやすいような形にすればそれでいいと思います。 SOAのようにデータ連携のメッセージとして考えているのであれば、 汎用性を考えた構造にする必要がありますが、 それもシステム全体が見えなければなんとも言えません。 まぁしかし、HTMLとjavascriptでXMLファイルということはAjaxを扱うのですかね? 冒頭にも述べましたがやはり基本的には自由です。 XMLにはこれといったデザインパターンがあるわけではありません。 (XMLの利用価値を考えれば至極当然のことですが) しかし、特に理由がないのであれば「id」は属性にする方が一般的ですね。 DOMにはgetElementByIdというインターフェースがありますから。 参考までに、こんなデータ構造でもいいかもしれません。 <group>  <person type="A" id="A01">医者</person>  <person type="B" id="B01">先生</person>  ・・・ </group> DOMやSAX、XSLTなどXMLの利用方法を理解した上で考えれば、 おのずと自分の使いやすいフォーマットが見えるかと思います。 ちなみに、AjaxならDOMがほとんどになると思います。

関連するQ&A