質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

RSS

RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

2730閲覧

rssではないxmlデータのhtmlでの表示方法

karakusa42000

総合スコア11

XML

XMLは仕様の1つで、マークアップ言語群を構築するために使われています。

RSS

RSS(Really Simple Syndication)はブログのエントリやニュースの見出し、標準のフォーマットの音声やビデオなどを発行するために使われるウェブフィードのフォーマットの集合体です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2015/03/03 03:19

編集2015/03/03 05:13

http://cachepricefeeds.williamhill.com/openbet_cdn?action=template&template=getHierarchyByMarketType&classId=10&marketSort=--&filterBIR=N
上記URLのparticipantタグ内のnameやoddsDecimalをhtmlで表示して自動的に更新をしたいですがrssになっていないために表示ができません。

http://memo.ark-under.net/memo/366
このブログ内に書かれているようなgoogle feedやjqueryの方法を試しましたうまくいきませんでした。

phpなどでサーバーサイドで読み込み、クライアントサイドで吐き出すスクリプトを作って受け取るようなプログラミングや、その他でも方法をご存知の方よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

何度も確認してみたのですが以下の部分がコンソールでエラーが出ておりうまく読み込みができません。

どんなエラーか書きましょう。

<? header('Content-Type:text/xml; charset=utf-8'); readfile($_GET['url']); ?>

推測ですが、<? を <?php と書き換えるだけ、ということかもしれませんね。

投稿2015/03/04 01:07

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

乗り掛かった船なので。

単純にGETで渡されたURLを読み込んで出力するコードです。
コンテンツ部分のみを吐き出しているので、HTTPヘッダなどの模倣はしていません。確認はしていませんが、やりたい事を実現するためにはHTTPレスポンスヘッダも読んで吐き出す必要がありかもしれません。
またパラメーター(リクエストに出すURL)はエンコードの必要もあるかもしれません
まぁ、アイディアとしてベースにしてみてください。

lang

1<? 2readfile($_GET['url']); 3?>

投稿2015/03/03 04:20

Guu

総合スコア142

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Guu

2015/03/03 04:33

投稿後、HTTPヘッダを確認したところ以下のようにすれば良いかもしれません。PHPは念のためutf8で保存してください。 <? header('Content-Type:text/xml; charset=utf-8'); readfile($_GET['url']); ?>
Guu

2015/03/03 06:08

ちょい不安だったので読み出し側のサンプルを作って試してみました。 問題なく取得できました。 あとはあなた次第です(^^) 以下はJavascript //ここにエンコードされたURLをセット var url='http%3a%2f%2fcachepricefeeds%2ewilliamhill%2ecom%2fopenbet_cdn%3faction%3dtemplate%26template%3dgetHierarchyByMarketType%26classId%3d10%26marketSort%3d%2d%2d%26filterBIR%3dN'; var php='ここに先程のPHPのアドレス'; var xhr = new XMLHttpRequest(); xhr.open("GET" , php+'?url='+url,false); xhr.responseType ="document"; xhr.send(null); var xml=xhr.responseXML; var participant=xml.getElementsByTagName('participant'); alert(participant[0].getAttribute('name')); alert(participant[0].getAttribute('id')); alert(participant[0].getAttribute('lastUpdateTime')); alert(participant[0].getAttribute('lastUpdateDate')); alert(participant[0].getAttribute('oddsDecimal')); alert(participant[0].getAttribute('odds')); }
karakusa42000

2015/03/03 15:32

前回に引き続き回答して頂き大変ありがとうございます! 何度も確認してみたのですが以下の部分がコンソールでエラーが出ておりうまく読み込みができません。 xhr.open("GET" , php+'?url='+url,false); xhr.responseType ="document"; 以下試したコードです。Guu様のjsのコードでは最後に } がありますが何か関係ありますでしょうか? ご回答お願い致します。 html <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title></title> </head> <body> <script type="text/javascript"> var url='http%3a%2f%2fcachepricefeeds%2ewilliamhill%2ecom%2fopenbet_cdn%3faction%3dtemplate%26template%3dgetHierarchyByMarketType%26classId%3d10%26marketSort%3d%2d%2d%26filterBIR%3dN'; var php='sample.php'; var xhr = new XMLHttpRequest(); xhr.open("GET" , php+'?url='+url,false); xhr.responseType ="document"; xhr.send(null); var xml=xhr.responseXML; var participant=xml.getElementsByTagName('participant'); alert(participant[0].getAttribute('name')); alert(participant[0].getAttribute('id')); alert(participant[0].getAttribute('lastUpdateTime')); alert(participant[0].getAttribute('lastUpdateDate')); alert(participant[0].getAttribute('oddsDecimal')); alert(participant[0].getAttribute('odds')); </script> </body> </html> php <? header('Content-Type:text/xml; charset=utf-8'); readfile($_GET['url']); ?>
Guu

2015/03/04 00:50

>以下試したコードです。Guu様のjsのコードでは最後に } がありますが何か関係ありますでしょうか? 済みません。コピペミスです。無視してください 今しがた手元コードでもう一度確認しましたが、IEでは無事出力で来ています。試したブラウザは何でしょうか? 思い当たる節があるのでこれから確認してみます。 それともう1点確認したほしいのですが。phpを直接パラメーター付きで叩くと目的のxmlは出力されますか?
Guu

2015/03/04 01:07

IE chrom FireFoxで確認が取れました。 xhr.responseType ="document"; をコメントアウトしてみてください。IEでは問題ないですが他のブラウザでは実装されていないものもあるようです。 それ以外に注意することはPHP側でxmlが正常に出力されているとして、考えられるのは2つのスクリプトを同じドメインで運用されていないのでは?念のため同じフォルダに配置して試してみてください。
karakusa42000

2015/03/04 14:52

chromeでのエラーでした。 コメントアウトで問題なく読み込めました。 この度は大変ありがとうございました! コードを自分で書けるように勉強します。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問