• 締切済み

どんな環境でもXMLと連携する方法

phpとXMLの連携について調べていて、色々なやり方があって迷った結果、DOMという方法を使うことにしました。プログラミングはAN_HTTPDを併用してローカルで動作確認し、最終的に自分のウェブスペースにアップして確認したところ、残念ながらサーバがDOMをサポートしていないらしいという結果になってしまいました。 サーバー、またクライアントの環境を選ばず、どんな環境でもphpとXMLを連携させる方法がありましたら教えてください。

  • PHP
  • 回答数1
  • ありがとう数1

みんなの回答

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

自分でXMLパーサーをPHPで書くしかない・・

taku17
質問者

補足

XMLパーサというものがあれば可能なんですか?

関連するQ&A

  • ApacheとPHPの連携

    vinelinux3.1でWebサーバを構築しようとしています。 またxoopsをそのサーバにインストールするためapacheとphpの連携が必要になります。apacheの起動は行くのですがphpとの連携が上手くいきません。httpd.confなどのどこを直したらよいのですか?必要なもののインストールは終了しています。

  • ServletからXMLを読み込む方法

    こんにちわ。 JSPからGETで受け取ったデータと、ローカルXMLファイルのデータの画面表示をサーブレットを使って行いたいと思っています。 このとき、XMLファイルからのデータ取得方法が分かりません。 普通のJavaであればDOMとしてXMLを操作したことがあるのですが、サーブレットの場合、違ってくるのでしょうか。 簡単な例等を教えていただけると嬉しいです。 お手数ですが、お分かりになる方、どうぞご教授くださいませ。

  • xml-dom、xslt が使えないサーバで、何とかしてCMSDesignerを動かしたい

    CMSDesignerというCMSツールを、私が今使っているレンタルサーバに導入を検討しており、利用可否をサーバ会社に問合せたのですが、xml-dom、xsltライブラリがサポートされていない為、利用できないと回答ありました。 CMSDesignerの供給元からも、CMSDesignerは、xml-dom、xsltライブラリが必須の為、私のサーバでは使えないと回答されたのですが、xml-dom、xsltライブラリをインストールせずに、何とかして動かす方法があればチャレンジしたいのです。ただ、知識も知恵もなく、全く良い案が浮かびません。 そこで、百戦錬磨のphpのプロの方々、何か良い方法があれば、ご教授ください。 よろしくお願いいたします。

  • Windowsでのローカル環境の設定

    Apache、MySQL、PHP、ActivePerl、AN HTTPDなど必要なアプリケーションをWindowsでのローカル環境で設定したいのですが、設定の仕方を教えてください。 特に、フォルダの置き方、Apache、AN HTTPDの設定について。 CGI、Wiki、XOOPS、のテストに利用したいのですが。 

  • tomcatとApacheの連携方法

    tomcatとApacheの連携を入門書を基に作業しているのですが、 Apacheが起動しません。 参考書の連携方法としては、 Apache2.2のhttp.conf内の、LoadModule命令の、proxy_moduleと proxy_ajp_moduleのコメント記号を外し、 最下行に、<Location>ProxyPassajp://localhost:8009</Location> としています。 tomcatのserver.xmlで、8009ポートがAJPに割り当てられています。 この状態で、Apacheを起動しても、エラーになります。  エラー:ローカルコンピューターでApache2を開始できません。 詳細については、イベントログを確認してください。・・・ 解決方法が分からずにおります。 詳しい方がおられましたら教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • Java
  • PHPでのサーバー内へのXML保存について

    現在、テスト用サーバーで作成、動作確認を行ったプログラムをレンタルサーバーに移行しているのですが その過程で、分からない事が発生したので質問させていただきます。 PHPでDomDocumentでXMLを作成し、$dom->save("aaa.xml")と保存したいのですが 上記内容を実行すると、ファイルが保存されません。 パーミッションの設定も問題なく、上記内容をチェックしてもエラーも返らないで書き込んだバイト数を返してきます。 プログラム上は、XMLの作成、保存はうまく言っているようなのですが・・・ 試しに、拡張子をxmlでは無く、$dom->save("aaa.php")と変更するとちゃんと保存されます。 という事は、やはり保存はうまく言ってるはずだと思うのですが・・・ FTPからは、拡張子がxmlでもアップロードできます。 PHPからは拡張子をphpにすると大丈夫だったので試しにtxtにもしてみましたが、txtは保存出来ませんでした。 これは、サーバー側の設定でしょうか? もしそうだとすると、.htaccessで設定可能でしょうか?(.htaccessでの設定をどこまで許可してるかにもよると思いますが・・) 可能な場合は、設定名というか項目名は何になるのでしょうか? 管理会社では特になにか制限はしていないとの事ですが、何が考えられますでしょうか? 以上、どなたか分かる方がいらっしゃったら、ご回答お願いいたします。

    • ベストアンサー
    • PHP
  • [PHP+XML]PHPで動的に出力するXMLをどのようにして読み込めばいいでしょうか?

    こんにちは、どうしても解決ができなくて困っています。 お助け願います。 DBからデータを取得し成形するなどした結果をXMLで出力できるようにPHPを用意しました。 ブラウザから確認でき、XMLをソース表示しても問題ありません。 次にこれを読み込むPHPを書いています。 simplexml_load_fileなどでXMLファイルを開くことはこれまでにもやっていたので、直接XMLファイル名を記述するところに用意したPHPを指定しました。 結果はエラー。 いろいろ検証した結果、PHPがアクションする前にPHPファイルが開かれてしまっている感じ。 DOMDocumentのload()やloadXML()で読み込む方法もトライしましたが結果は同じ・・・。 根本的に間違ってますか? PHPから吐き出されるXMLを読み込むためにXMLファイルを記述するところにPHPスクリプトを指定すること自体が間違っているようにも思っています。 お手数をお掛けいたしますがお教え願います。

    • ベストアンサー
    • PHP
  • サーバー側で、XML,XSLを整形されたファイルを出力する方法?

    XMLについて、理解が浅いのですが ローカルでは XMLファイルとXSLファイルがあれば、 sabcmdを使えば、変換できますが、 例えば、WEB(CGI:Perl)でサーバーに XML,XSLファイルが合った場合に どのようにクライアント(ブラウザ)に出力させれば良いのでしょうか? サーバー側でxmlファイルとxslファイルを sabcmdで変換させて、結果を読み込んで出力させるのが筋でしょうか? いまいち理解していなくて済みません。

    • ベストアンサー
    • Perl
  • XMLのロードに失敗する

    PHP5においてsimplexml_load_fileを使って、様々なサイトのRSS(XML)を読み込もうとしています。 一部のサイトに対してFalseが返ってきます。いまいちコンディションが掴みきれておらず うまくいくことうまくいかないことを記述させていただきます。 PHP設置環境の種類 ローカルサイト上のLinux、レンタルサーバA、レンタルサーバB、レンタルサーバC ターゲットRSS NHK http://www3.nhk.or.jp/rss/news/cat0.xml はてな http://feeds.feedburner.com/hatena/b/hotentry 毎日新聞 http://mainichi.jp/rss/etc/flash.rss 問題となるのは毎日新聞です。環境によって読めたり読めなかったりします。 ローカルでの結果 NHK、はてな、毎日新聞 いずれもOK レンタルサーバA 毎日だけNG レンタルサーバB すべてOK レンタルサーバC 毎日だけNG 今回はこのサーバAやCの問題をクリアしたいのですが方法がわかりません。 simplexml_load_fileがNHKやはてなに対して動作するのに毎日に対してのみ動かないという 観点からすると毎日側の仕様の影響かとも思うのですが、 PHPの設置環境によって動作が変わるという観点も加味すると PHPの設置環境の何かに依存し、読み込み対象が絞られる、というようなイメージを持っています。 いずれも無料サーバということもあり、検討ぐらいつけてから管理人に相談させていただくのが 良いかと思いこの場をお借りしております。 なお、レンタルサーバCは.land.toです。 よろしくお願いいたします。 エラー文 $data = simplexml_load_file($rss); if ($data == FALSE){ echo "Failed loading XML<br>\n"; foreach(libxml_get_errors() as $error) {echo "\t", $simplexml_load_fileerror->message;}//Failed loading XML was the returned error } Warning: simplexml_load_file(http://rss.yomiuri.co.jp) [function.simplexml-load-file]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in /home/httpd/****/public_html/php/rss.php on line 9 Failed loading XML failed to load external entity "http://rss.yomiuri.co.jp" なお、rss.phpのline 9は $data = simplexml_load_file($rss);です。

    • ベストアンサー
    • PHP
  • XMLでこんなの作りたい。

    [ 環境 ] OS:WindowsXP Pro PHP:5.3.1 Apache:2.2.14 DBServer:SQLServer2005 EXPRESS [ 質問 ] DB側データ row,level,level_name 0,level1,root 1,level2,admin という様なデータをXMLにて以下の様な表示にしたい。 <?xml version="1.0" encoding="UTF-8" ?> <result> <row row="0"> <level>level1</level> <level_name>root</level_name> </row> <row row="1"> <level>level2</level> <level_name>admin</level_name> </row> </result> この場合、以下のソースをどの様に変更したら良いか アドバイスを頂けたらと思います。 <?php // SQLServerとの接続 require("connect-sqlserver.php"); // XML 生成 $dom = new DOMDocument("1.0"); $node = $dom->createElement("result"); $parnode = $dom->appendChild($node); // MSSQLSERVR への接続セット $db = mssql_connect($server, $userid, $passwd); mssql_select_db($dbName, $db); // [SYSW_LEVEL]テーブルからフィールド情報取得 $query = "SELECT * FROM SYSW_LEVEL"; $res = mssql_query($query, $db); header("Content-type: text/xml"); // XMLへフィールドの値を渡す while ($row = mssql_fetch_assoc($res)) { $node = $dom->createElement("row"); $newnode = $parnode->appendChild($node); $newnode->setAttribute("level", $row['LVL_LEVEL']); $newnode->setAttribute("level_name", mb_convert_encoding($row['LVL_LEVELNAME'],'UTF-8','CP932')); } $dom->encoding="UTF-8"; echo $dom->saveXML(); ?> 以上、よろしくお願い致します。

    • 締切済み
    • PHP

専門家に質問してみよう