• 締切済み

xmlからのデータ取得について

PHPでXMLを扱う場合、simplexml、XMLReaderなどありますが、 XMLから繰り返さないひとつだけの情報を取り出すにはどんな方法が効果的でしょうか。例えば検索結果の数などです。 XMLReaderを使ってみたのですがうまく書くことができませんでした。引き続きいろいろやってみますが、アドバイスをいただけたらありがたく思います。どうぞよろしくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

パーサをつかわないでデータを解析するなら 正規表現がよいのではないでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • [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
  • PHP4でのXMLデータの取り扱い

    Webサービスを利用してXMLデータを取得するスクリプトをPHPで書いています。レンタルサーバの関係でバージョンは4.4.4しか使えません。 XMLを扱う関数というと、PHP5ではsimpleXMLやXMLReaderなどがあるようで、各要素へアクセスするにも $xml=simplexml_load_file('books.xml'); foreach($xml->book as $book){ .... という感じでオブジェクトとしてアクセスできるようですが、こういうのをPHP4で実現する方法はないのでしょうか?例えば入れ子になったデータだと、深い階層にたどりつくために foreach($results as $key => $value){ foreach($value $key2 => $value2){ foreach($value $key3 => $value3){ ... } } } みたいな感じで書いているのですが、まったくスマートではないですし、なにか間違っているような気がします。良い方法があればお教えください。よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • SimpleXML関数で取得したXML要素を逆順にしたい

    SimpleXML関数で取得したXML要素を逆順にしたい お世話になります。 phpのsimplexml関数で取得したXML要素を 逆順にして表示させるにはどうしたらよいでしょうか? 通常、RSSなどを読み込み表示させた場合、新しいものから並ぶと思いますが、 これを逆順で古いほうから並ばせたいです。 rsortやarray_reverseを使ってみましたが、うまくいきませんでした。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • simplexmlでルート要素の値を取得したい

    PHPでsimplexmlを用いていますが、XMLから値を取得する方法で、他のタグなどの情報は取り出せるのですが、ルート要素である以下の文章からtotalResultsの値である20だけを取り出したいですがうまくいきません。 <ResultSet totalResults="20" totalReturned="2"> 以下のようにあるところへ投げた結果のXMLを取得しています。 $file = file_get_contents( $url ); $xml = simplexml_load_string( $file ); お手数ですがよろしくお願いします。

    • ベストアンサー
    • PHP
  • phpの情報をxmlで保存

    こんにちは、PHP初心者です。 質問なのですが、たとえばPHPによって作成されたWebページで、入力フォームがあるとします。その入力されたフォームの情報をXMLで保存したいのですが、どのような方法があるでしょうか。 また逆に、XMLで保存された情報(数値など)を参照し、Web上のそれぞれのフォームに入力できる方法はどのようにすれば良いのでしょうか。  SimpleXMLなど調べているのですがどうもわかりません。知識不足ですみません、よろしくお願いします。

  • PEAR:XMLで文字化け

    Amazon ECS4.0を使ってショッピングサイトを作っているところです。 そのために、XMLデータから必要な情報を取りだすために、PEAR:XMLを使っているのですが、 取り出した情報の日本語が文字化けしてしまいます。 PHP5が使えないレンタルサーバーを利用しているため、SimpleXMLは使えません。 あるサイトでPEAR:XMLはマルチバイト文字に対応していないという記述を見つけたのですが、そのせいでしょうか? もし、何か対策があればと思い質問させていただきました。 アドバイス、よろしくお願いします!

    • 締切済み
    • PHP
  • PHPでXMLファイルを読み込みたい

    PHPを使ってxmlファイルを読み込んで、タグの中のデータなどを読み込んだりしたいです。 ですが、自作のxmlファイルだと simplexml_load_file()で読み込めません。xmlファイルの文字コードを色々と変えて試してみましたが、できませんでした。 ちなみに以下のコードは正常に動きました。Yahoo!のxmlファイルです。 $url = "http://rss.weather.yahoo.co.jp/rss/days/5710.xml"; $rss = simplexml_load_file($url); 出力は「【 25日(金) 嶺北(福井) 】 晴れ - 23℃/8℃ - Yahoo!天気・災害」でした。 何度かやるうちにアルファベットは表示できても日本語が表示できないということもありました。 また、xmlファイルをphpのプログラムに作らせたいです。そのときに、simplexml_load_file()で読み込める日本語も含むxmlファイルをphpで作成するプログラムを教えていただけると嬉しいです。 お願いします。

    • ベストアンサー
    • PHP
  • twitterのOAuth認証+xml抽出(php

    こんにちは。 PHPのプログラムで分からない部分があるので質問させてください。 twitterAPIを用いてアカウントの情報のxmlを取得し、simplexmlで解析して ・フォロワー数 ・フォロー数 ・リストされている数 ・ツイート数 ・認証アカウントかどうか といったステータスをsimplexml_load_fileで読み込んで、抽出して変数に入れたいのですが・・・ (この変数に入れたステータスで色々と計算をする予定です) エラーが出てファイルを読み込んでくれません。 ユーザー情報を取得するAPIが認証を通さないといけないため、OAuthを用いて認証しています。 認証が必要のないAPIで返ってきたxmlは問題無くsimplexml_load_fileが使えます。 ちなみにさくらのレンタルサーバーのスタンダードで、PHPのバージョンは5.2.17です。 色々試してみたのですが、何が原因なのか分からないので、ご教授お願いします。 <コード> <?php // twitteroauth.phpを読み込む。 require_once("twitteroauth.php"); // Consumer keyの値 $consumer_key = "******"; // Consumer secretの値 $consumer_secret = "*****"; // Access Tokenの値 $access_token = "******"; // Access Token Secretの値 $access_token_secret = "******"; // OAuthオブジェクト生成 $to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret); $req = $to->OAuthRequest("http://api.twitter.com/1/users/show/id.xml","GET",array("user_id"=>"******")); $xml = simplexml_load_file($req) or die("XMLパースエラー"); ?> <実行結果> Warning: simplexml_load_file() [function.simplexml-load-file]: I/O warning : failed to load external entity "<?xml version="1.0" encoding="UTF-8"?> <user> <id>*******</id> <name>******</name> <screen_name>******</screen_name> <location>九州</location> <description>webクリエイ ・・・(以下略)・・・ ;。 &am in /home/*********/www/newfile.php on line 20 XMLパースエラー

    • 締切済み
    • PHP
  • XMLファイルをPHPで読み込むには?

    PHPとXMLを勉強しております。タイトル通りなのですが、どのようにすればよいのでしょうか? PHP4とPHP5ではやりかたが違うようなのですが・・・。 一応自分なりに調べてみたのですがphp5ではsimpleXML関数を使用すればできるようなのですが、私が使用しているサーバーがロリポップでして、PHP4ではどうすればいいのでしょうか。 PEARを使用するといった文章をよく観たのですが、さっぱりわからない状態です。 PEARの使い方を初心者でもわかりやすく書いてあるサイトはありませんでしょうか。できればPEARを使用せずにXMLを読み込む方法などもありましたら、ご助言をお願いいたします。

    • ベストアンサー
    • XML
  • Google検索のXMLの取得方法

    Googleの検索エンジンを利用した物の開発を計画しています。 開発言語はPHPです。 YahooやMSN(Bing)は検索結果を返すXML(API)を提供していますが、Googleはそのような物はないのでしょうか? http://code.google.com/intl/ja/apis/ajaxsearch/web.html これを使うと出来るような気もするのですが、よく使い方が分かりません。 (XMLが返ってくるのかすら分かりません) そもそもGoogleは検索結果をXMLで返してくれるのでしょうか? もしそのようなAPIがあるなら、具体的な方法か解説サイトを教えてください。

    • ベストアンサー
    • XML