jQueryでxmlデータ取得について

このQ&Aのポイント
  • jQueryでxmlデータを取得する方法とは?解説します。
  • JavaScriptで宣言した変数の値とxmlのタグが一致した場合に、xmlデータの値を取得する方法を解説します。
  • 初心者向けに、jQueryを使用したxmlデータの取得方法について説明します。
回答を見る
  • ベストアンサー

jQueryでxmlデータ取得について

jQueryでxmlのデータを取得しました。 jsで宣言した変数データがあって、 その変数のデータと xmlのタグ(ノード)が一致していた場合、 そのxmlデータの値を返したいと考えています。 xmlは以下の感じです。 タグ名はすべて異なりますが、順番に並んでいます。 <data1>aaa</data1> <data2>bbb</data2> <data3>ccc</data3> 例としては jsでの変数の値がdata1の場合は、 xmlの<data1>の値を取得したいんです。 jsでの変数の値がdata2の場合は、 xmlの<data2>の値を取得したいんです。 そんな事ってできますか? 初心者なもので、とんちんかんな質問かもしれませんが どうか、宜しくお願いいたします。

  • AJAX
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.2

<div id="表示したい箇所"></div> <script type="text/javascript"> $(document).ready(function(){ $.ajax({ url : '***.xml', dataType : 'xml', success : xmlParser }); }); function xmlParser(xmldata){ var tag = "data1"; var elem = $(tag,xmldata).text(); //または //var elem = $(xmldata).find(tag).text(); $("#表示したい箇所").text(elem); } おしいけど凡ミスが多いようです。 「変数名」は'や"で閉じない。「値」は閉じる url : ***.xml, ==> url: "***.xml", var tag = data1; ==> var tag = "data1"; $("tag", ===> $(tag,

mc0816
質問者

お礼

JaneDueさん 重ね重ね、本当にありがとうございます。 助かりました。 やりたい事が実現できました!! コードまで書いていただき、 丁寧なご回答をいただき、大変感謝、感謝です。 >「変数名」は'や"で閉じない。「値」は閉じる ↑ 初歩的な事を教えて下さり、お恥ずかしい限りです。 もっと頑張ります。 また、質問が出てくると思いますが 何かありましたら宜しくお願いいたします。

その他の回答 (1)

  • JaneDue
  • ベストアンサー率75% (263/350)
回答No.1

var tag = "data1"; で success:function(xmldata){~ とすれば $(tag, xmldata).text(); とか $(xmldata).find(tag).text();  のこと?

mc0816
質問者

お礼

本当にありがとうございました。 もっと勉強がんばります!

mc0816
質問者

補足

ありがとうございます。 さらに補足させていただきますね。 jsスクリプト ------------------- $(document).ready(function(){ $.ajax({ url : ***.xml, dataType : 'xml', success : xmlParser }); }); function xmlParser(xmldata){ var tag = data1; //複数のhtmlから取得する変数データ var elem = $("tag",this).text(); $("htmlの表示したい箇所").text(elem); }); ------------------- 関数xmlParserの中の書き方がうまくいかなくて、 var elem = $("tag",this).text(); 上記の記述でtagという変数がそのままxmlのデータ取得の際に ノード名として、扱えればいいなぁと思っていたのです。 教えていただいた感じで $(xmldata).find(tag).text(); を使って、取得することが可能なのですか? 初心者で本当にすみません。 どうかご教授ください。

関連するQ&A

  • XMLからデータを取得

    いつもお世話になっております。 XMLファイルに含まれたデータの中から、特定のデータを検索するプログラムを作りたいと思っております。 <AAA Name="テスト">    <BBB x="2" y="2"></BBB>    <CCC Num="0001"></CCC>    <CCC Num="0002"></CCC> </AAA> XMLデータの形式は↑みたいな感じで、これが100以上あり、CCCタグは0~5個までです。 フォームにテキストボックスを配置し、そこに検索したい語句を入れ、 AAAタグのNameの中身と合致したら、BBB、CCCの属性をすべて取得して表示するということをしたいのですが、 どうにも上手くいきません。 VB2008を使用しております。 方法をご存知の方、ご教授ください……orz

  • XMLの特定のデータを書き込むには?

    下記のXMLファイルを読み込んで、 タグYYYのキーでKEY2を検索し、 子要素AAAの値のData2を書き換えるという処理を 作ろうとしてるのですが、 なかなか解決策が見つかりません。 よろしくお願い致します。 例: abc.xml <XXX> <YYY KKK="KEY1"> <AAA>Data1</AAA> <BBB>Data2</BBB> <CCC>Data3</CCC> </YYY> <YYY KKK="KEY2"> <AAA>Data1</AAA> <BBB>Data2</BBB> <CCC>Data3</CCC> </YYY> <YYY KKK="KEY3"> <AAA>Data1</AAA> <BBB>Data2</BBB> <CCC>Data3</CCC> </YYY> </XXX>

  • JQueryでxmlのデータを取得する。

    以下のようになっているxmlのデータがあります。 --------------------- <item> <name1>0</name1> <name2>1</name2> <name3>0</name3> </item> --------------------- <item>~</item>の中の 子ノードのタグ名とテキストデータをJQueryを使って取得したいと考えています。 上記のように、<name1><name2><name3> とタグ名がバラバラなので 配列で取得したいのですが。やり方がわかりません。 どなたかご教授ください。

    • ベストアンサー
    • AJAX
  • xmlからphpでうまくデータを出力できない

    WEBサービスでリクエストに対して取得したxmlの中で、下記のようなデータがあるのですが、それがうまくphpで出力できなくて困っています。 [xmlのデータ(一部)] <aaa>  <bbb>   <ccc>    <ddd>あいうえお</ddd>    <Date date="05" month="09" year="2009"> [phpのソース] echo $aaa->bbb->ccc->ddd ; echo $aaa->bbb->ccc->year ; ・・・(※) (※)の行は思いつきで書いてしまっているのですが、この状態で実行すると、「あいうえお」は取得できますが、日付が当然取得できません。質問は以下です。 (※)の部分は、どう書けばいいのでしょうか?

    • 締切済み
    • PHP
  • XSLTでtest.xmlファイルのccc要素の値を取得する場合は以下

    XSLTでtest.xmlファイルのccc要素の値を取得する場合は以下(1)、(2)のようにやればいいのですが、(2)の箇所のパス(testを)動的(可変)にすることはできるのでしょうか? (1)document関数によりxmlファイルを変数に格納  <xsl:variable name="aaa" select="document('test.xml')"/> (2)上記変数からパスを指定して値を取得  <xsl:variable name="bbb" select="$aaa/test/ccc"/> test.xml <test> <ccc>bbb</ccc> </test> 例)以下は間違ってると思いますがパスに変数を使用して値を取得することは可能でしょうか?   <xsl:variable name="ccc" select="'test'"/> // 変数cccにtestという文字列を格納   <xsl:variable name="bbb" select="$aaa/$ccc/ccc"/> //test/cccがパスのつもり

    • 締切済み
    • XML
  • SimpleXMLでxmlのデータを修正するときの疑問

    PHP5でflashで扱うXMLの編集をしています。 <xml> <aaa>12345</aaa> </xml> というxmlに対し、 $nodeName = "aaa"; $xml = simplexml_load_file($xmlFile); $xml->$nodeName->title = "aiueo"; という感じで、xmlの更新をしていますが、 <xml> <aaa>12345</aaa> <aaa>67890</aaa> <aaa>24680</aaa> </xml> と、xmlのnodeが同名複数になったとき、 $xml->aaa[0]->title = "aiueo"; 相当のことを、ノード名も、何番目のノードかも、 変数をつかって実行する方法はありますか? 当然のごとく、 $nodeName[$num]は、$nodeNameの配列の値とみなされますし、 $a = $nodeName . '[' . $num . ']'; $xsml->$a->title = "aiueo"; とやると、"aaa[0]"という文字列をノード名にしてデータ追加してしまいます。 ご存知の方がいらっしゃいましたら、ご教示下さい。

    • 締切済み
    • PHP
  • XMLのXPathについて

    下記のようなXMLがあるとして、XPathでdataノードを取得する場合、 /root/node/dataと/root/dataの二通りがあると思いますが、これを一つにまとめて書くことは可能でしょうか? また、dataノードに辿りつくのに、途中のパスがすべて把握できない場合(/root/AAA/data、/root/BBB/CCC/data。。。) XPathでdataノードを取得することができますでしょうか? GetElementsByTagName("data")にした方が良いでしょうか? <?xml version="1.0" encoding="UTF-8"?> <root> <node> <data>データ1です</data> </node> <node> <data>データ2です</data> </node> <data>データ3です</data> </root>

    • 締切済み
    • XML
  • jQueryのloadメソッドは外部XMLは読み込めないのでしょうか?

    jQueryのloadメソッドは外部XMLは読み込めないのでしょうか? タグが<aaa></aaa>となっているところの文字を抽出したいのですが外部にあるXMLは読み込めないものでしょうか? $("#my1").load( "http://server.com/hoge.xml .aaa" ); テキストファイルでタグを書くと読み込みが出来るのですが、なぜかXMLにするとうんともすんとも動きません

    • ベストアンサー
    • AJAX
  • jQueryでxmlの異なるタグ要素を取得したい。

    jQueryを最近勉強したての者です。 詳しい方、どうか教えて下さい。 HTMLにxmlのデータを読み込ませようとしています。 概略をお話しすると、 htmlファイルによって、xmlの別々の要素を取得したいのです。 やりたいメソッドは同じです。 別々の要素の中のデータによって、imgの表示/非表示を切り替えたいのです。 問題は、対象となるhtmlファイルが複数あり そのhtmlファイルによって、参照するxmlのタグが異なる事なんです。 xmlは、以下のように<shopdata>をルートノードとし、以下のような感じです。 --------------------- <?xml version="1.0" encoding="utf-8"?> <shopdata> <item> <name1>0</name1> <name2>1</name2> <name3>0</name3> </item> </shopdata> --------------------- <name*>~</name*> の中のデータは、0もしくは1なのですが 0の時はimgを表示 1の時はimgを非表示させようと考えています。 ただ<name1><name2><name3> とタグ名がバラバラなんです。 ※おしりの数字が違うだけで、規則的ではあります。 ちなみにhtmlは複数あって  a.htmlの時は→xmlの<name1>を参照  b.htmlの時は→xmlの<name2>を参照  c.htmlの時は→xmlの<name3>を参照 という感じです。 ※htmlファイル名は特に規則的ではなく、いろいろなファイル名がついています。。。 最初、考えたのは、 htmlのどこかに、id="1"と入れて、idが1の時は、<name1>の要素を取得し、 htmlのどこかに、id="2"と入れて、idが2の時は、<name2>の要素を取得し… っていうことを考えたのですが、それもどのように書いたら良いのかが分からないんです。 そもそも、そういった事は可能なのでしょうか? ちなみのhtmlのbodyタグ自体がテンプレートでできているので、 idをどこかにふるとしたら、head内とかになるのしょうか? それぞれ、ボタンの表示は、 if文を使って、show(),hide()メソッドを使うとは思うのですが… 詳しくコードを教えていただけたら、助かります。 どうか、宜しくお願いいたします。

    • ベストアンサー
    • AJAX
  • C言語にてXMLファイルから任意部分抽出

    C言語にてXMLファイルからタブで囲まれた任意部分の文字列だけを抽出したいのですが、どうやればいいでしょうか? サンプルなどありましたらありがたいです。  <aaa>   <bbb>123/bbb>   <ccc>あああ</ccc>   <bbb>456</bbb>   <ccc>いいい</ccc>  </aaa> ・抽出したいのは、<bbb></bbb>と<ccc></ccc>で囲まれた文字列。 ・大量データの場合もあるので抽出性能は考慮したい。(基本はメモリ上で操作したい。)

専門家に質問してみよう