Ajaxでプログラミングをしております。
サーバに問い合わせた答えをXMLで返しております。
Ajaxで問い合わせて、
alert(req.responseText);
とすれば、XMLが画面に表示されて、答えが返っていることを確認できています。
====XMLデータは以下===
<?xml version="1.0" encoding="utf-8" ?>
- <results>
- <result>
<x>139.1748046875</x>
<y>37.26530995561875</y>
<kiji>トラックバックテスト</kiji>
<url>http://blog.livedoor.jp/***/archives/50669333.ht …
<contents>test trackbackAAAAAAAAAAAAAAAAAAAA</contents>
<btitle>必勝!株式投資!</btitle>
<date>10.24.06</date>
</result>
- <result>
<x>139.1748046875</x>
<y>37.26530995561875</y>
<kiji>下げシグナル</kiji>
<url>http://blog.livedoor.jp/***/archives/50533401.ht …
<contents>カブログへの清き一票よろしくお願いします
</contents>
<btitle>必勝!株式投資!</btitle>
<date>2006.10.24</date>
</result>
</results>
====ここまで=====
XMLの<result>タグでブロックごとに分解し、その分解されたブロックから
<X>の値、<contents>の値を取ろうとしております。
ためしに、
var result = req.responseXML.getElementsByTagName('result');
alert(result.length);
とやって、<result>タグで2ブロックにきれているか、確かめたのですが、
0と返ってきます。
何かやり方がわるいのでしょうか?
サーバプログラム、クライアントプログラムとも、UTF-8でやってます。
IEは6.0です。
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
以下のソースで試してください。
保存する時は必ず文字コードをutf-8で指定して保存するように。
xmlは書式に厳格です。余分なスペースなんかも気にしてください。
良くわからない場合は、ブラウザーで開くとパースできます。
ブラウザーで開ければだいたい大丈夫なんじゃないでしょうか・・
<?xml version="1.0" encoding="utf-8"?>
<results>
<result>
<x>139.1748046875</x>
<y>37.26530995561875</y>
<kiji>トラックバックテスト</kiji>
<url>?http://blog.livedoor.jp/***/archives/50669333.ht …
<contents>test trackbackAAAAAAAAAAAAAAAAAAAA</contents>
<btitle>必勝!株式投資!</btitle>
<date>10.24.06</date>
</result>
<result>
<x>139.1748046875</x>
<y>37.26530995561875</y>
<kiji>下げシグナル</kiji>
<url>http://blog.livedoor.jp/***/archives/50533401.ht …
<contents>カブログへの清き一票よろしくお願いします</contents>
<btitle>必勝!株式投資!</btitle>
<date>2006.10.24</date>
</result>
</results>
ありがとうございます。IEで受信したXMLは開けなかったので、文字コードに問題がありそうです。
でもJSONでやったら、さっくり出来てしまったので、JSONで作っております。
ご回答ありがとうございました。
ちなみに出来たサイトはこちらです。
■世界中の釣りブログのトラックバックを地図に貼り付け!
World Fishing Reports
http://wfr.from.tv/
です。
No.2
- 回答日時:
リクエストの解答は来ているようなので、いっそXMLパーサーに頼らないで自力で解析しちゃったらいかがです?(笑
var X=req.responseText.match(/<x>[^<]+<\/x>/g);
var R=req.responseText.match(/<contents>[^<]+<\/contents>/g);
たったこれだけで、配列の X と R へ必要な値が取れちゃうと思うのですが。
ついでに、リクエストの側もXMLHttpReqestだけに絞り込んでしまえば、多分30行程度で必要な関数は完成してしまうのではないかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP php エラー 2 2022/10/23 16:43
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- オープンソース Coinmarketcap api 1 2022/05/30 15:47
- PHP php エラー 3 2022/11/18 23:32
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#テキストボックスの文字を配...
-
同じIDで定義した要素の配列を...
-
配列の格納
-
jspからjavascriptの変数引継ぎ
-
gas 配列の開始番号
-
javascript 変数名の連結をしたい
-
助けてください‼︎ javascriptで...
-
WSH(Jscript)でファイル一覧
-
javascriptで2つのArrayの...
-
JavaScriptにおける[] とか :...
-
Javaについて質問です。 要素数...
-
javascriptを用いて作成された...
-
起動するたびに、背景のファイ...
-
javascriptからphpに配列データ...
-
関数でy=g(x)のgとは何の略です...
-
ActiveXobjectが作成できない
-
Latexに関する質問です。
-
C#OpenCv V4にのエラーに関する...
-
文字を一文字ずつ表示
-
googleスプレッドシートのApps ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
同じIDで定義した要素の配列を...
-
C#テキストボックスの文字を配...
-
jspからjavascriptの変数引継ぎ
-
javascript 変数名の連結をしたい
-
二次元配列を使って順位をだす...
-
javascriptで行を抽出したいです。
-
javascriptからphpに配列データ...
-
多次元配列から最大値を1行また...
-
Perlの配列をJavaScriptに渡せ...
-
JSONデータを50音順でソートしたい
-
どうすればresponseText結果を...
-
バナーのランダム表示(複数、...
-
JavaScriptでの動的な多次元配...
-
JavaScriptからPHPに配列を渡す...
-
javascriptで2つのArrayの...
-
javascript 省略した記述と思わ...
-
[JS] setAttributeで保存される...
-
【Google Apps Script】コード...
-
javascriptを用いて作成された...
-
時計を複数表示する場合
おすすめ情報