XMLデータをcsvに変換する方法とは?

このQ&Aのポイント
  • XMLデータをcsvに変換する方法について困っている初心者です。PHP5のSimpleXML関数を使えばできると聞いていますが、質問の内容に応じて全ての項目をcsvで出力する方法が分かりません。
  • XMLデータをcsvに変換したいのですが、構造体が変わるため全ての項目を出力する方法が分かりません。どなたかご教授いただけませんか?
  • XMLデータをcsv形式に変換したいのですが、構造体の変化に対応した全ての項目を出力する方法がわかりません。初心者ですので、分かりやすく教えていただければ幸いです。
回答を見る
  • ベストアンサー

XMLデータをcsvに変換

初心者で困っています。 XMLデータをcsvに変換したいのです。よくある質問ですが、よくわからなくて困っています。PHP5でSimpleXML関数を使えばいいという話はよく載っていますが、私のやりたい事は以下の通りです。 1. XMLデータが存在します。 2. 構造体はコロコロと変わります。 3. 親ノード(表現あっているかわかりませんが)含めcsvで全て表示したいと思っています。 例えば(他の方の質問サンプルを拝借) <チーム no="82"> <選手 no="51"> <姓>鈴木</姓> <名>イチロー</名> <守備>ライト</守備> </選手> <選手 no="52"> <姓>高木</姓> <名>キチロー</名> <守備>レフト</守備> </選手> </チーム> を チームno,選手 no,姓,名,守備 82,51,鈴木,イチロー,ライト 82,52,高木,キチロー,レフト とcsvで出力したいのです。 また、構造体や名前は変わるのでこのように全ての項目について出力するにはどうしたらいいのでしょうか? ご存知の方、ご教授ください。

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

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

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

SimpleXML を使う場合、それぞれのノード名やアトリビュート名が変数名になってしまうので、反ってやりにくいと思います。 DOMXMLを使って再帰的に処理すればいいと思います。

関連するQ&A

  • php で xml

    xmlのデータをphpで取り出したいのですが、こういうような形でデータを追加していけるphpのサンプルなどはないでしょうか? <選手 no="51"> <姓>鈴木</姓> <名>イチロー</名> <守備>ライト</守備> </選手> <選手 no="52"> <姓>高木</姓> <名>キチロー</名> <守備>レフト</守備> </選手> できれば、選手単位(姓が高木なら高木選手の姓、名、守備を取り出すような)で内容を取り出したいです。 http://www18.tok2.com/home/koumori27/xml/pxml/pxml2.htmlのサンプルではデータを追加すると下のようになってしまいますし、選手単位では取り出せません。 <選手 no="51"> <姓>鈴木</姓> <名>イチロー</名> <守備>ライト</守備> <姓>高木</姓> <名>キチロー</名> <守備>レフト</守備> </選手>   

    • ベストアンサー
    • PHP
  • イチローのポジションがライトの理由

    イチロー選手のポジションはオリックス時代もマリナーズでもライトです。 草野球などでは、あまり打球が来ないということで、あまり野球がうまくない選手がライトを守ることが多いですよね。 肩が強く、足も速いイチローであれば、より守備機会が多いレフト、センターの方がよいと思うのですが。 プロ野球、大リーグではライトの方がレフト、センターより守備機会が多いのでしょうか? イチローのポジションがライトである理由を教えてください。 お願いします。

  • ライトは名手が多いのにレフトは下手な選手?

    外野の守備で一番重要なのはセンターラインのセンターとされますよね。 しかし、ライトとレフトにも付く選手を見ると傾向があるように思うんです。 イチローや高橋由など、ライトは名手が守る事が多いように思えます。レフトとライトの守備の特性の違いはあるんでしょうか?。ライトの方が難しいんでしょうか?。 そもそもイチローや高橋はセンターではなくライトを守る事になるんでしょうか?。たまにセンター守ったりもしますが、基本的に固定されてますよね?。 自分が監督だったらセンターコンバートをするんでしょうが、どういう意図があるんでしょうか?。

  • プロでは何故レフトに守備をうまくない人をおく傾向にあるのでしょうか

    野球に詳しい方に質問です。 少年野球や中学野球などではライトに守備がうまくない人を置く傾向にあるのに何故、プロではレフトに守備がうまくない人を置く傾向にあるのでしょうか? プロのライトはむしろチームの中で守備がうまい方が多いと思います。 私が今まで聞いた話ではプロには左打者のほうが強力な打者が多く、ライト方向に速い打球や難しい打球が飛ぶ可能性がライトにうまいものをおき、レフトに下手な者をおいたほうがチームの失点が防げるからだと聞いています。 ここで一つ素人考えながら思ったのですが左打者より右打者のほうが強力なチームもあるから右打者が強力なチームの場合はレフトに守備がうまい選手を臨機応変においたほうがいいのではないかと思ってしまいます。しかし、プロでは絶対そんなことはしません。 一応、私もライトとレフトはまったく違うものという話も聞いております。 しかし、私も中学校で両方守りましたが何処が違うの?という感じです。 お馬鹿な素人考えの投稿ですがどなたか回答をお願いします。

  • 外野手の守備能力

    一般的には、ライトが強肩好守、センターが俊足好守の選手が守っていますが、レフトは他の外野手より守備能力が劣る人が守ることが多いですよね?(レフトばかり守る選手としては、ラミレスや和田など) センターの守備能力が必要なのは分かります。打球が飛んでくる回数はライトもレフトもそんなに変わらないはずなのに、どうして守備が上手な選手のほうをライトに配置するのでしょうか?逆にいうと、どうして守備に難があるほうがレフトなのでしょうか?

  • XMLをXSLTで変換するとき、XMLの要素名をそのまま表示したいのですが…

    お世話になっております。 XMLとXSLTの勉強をしているのですが、 XMLの要素名をXSLTで変換したときそのまま表示することは可能でしょうか? ---------------------------------------------------------- コレクション.xml ---------------------------------------------------------- <コレクション>  <書籍リスト>   <書籍>    <NO>001</NO> <!--↓”タイトル”という文字列を何らかのXSLT要素でHTML直書きせずにに表現したいのです↓-->    <タイトル>ド●えもん第一巻</タイトル>    <ジャンル>マンガ</ジャンル>    <価格>\410</価格>   </書籍>  </書籍リスト> </コレクション> ---------------------------------------------------------- 出力例 ---------------------------------------------------------- //↓ここにXML要素名を入れるなんてできるのでしょうか? タイトル    |ジャンル|価格| --------------------------------- ド●えもん第一巻|マンガ |\410| どなたか、ご教授の程、宜しくお願いいたします。

    • 締切済み
    • XML
  • コンバート

    西武の高木大成選手がセカンドにコンバートするようです。以前守っていた ファーストは不動のカブレラがいることやセカンドの高木浩之選手が ケガしたりしていること、せっかくの打撃センスを生かさないのは もったいないなどいろいろと理由があると思います。 で、高木大成選手はキャッチャーとして入団したと思いますが、サード、レフト、 ファーストそして今回のセカンドとコンバートしています。ここまで 守備位置を変えた選手って他にいるのでしょうか?とりあえず思いつくのは 原監督の現役時代ではじめはセカンドをしていたような気がします。 またレフトやファーストを守ったりしていたと思います。このように 4つぐらいポジションを渡り歩いた例があったら教えてください。

  • WBCメンバー、なぜ亀井が入っているのか?

    巨人でも、レギュラー(規定打席にも達していない)になっていない亀井選手が、なぜWBCの28人に入っているのでしょうか? 1次選考のメンバーに入っているだけでも、「なぜ???」の状態だったのに、最終メンバーに入るとは、本当に「なぜ???」の気持ちです。 守備力を評価されているという声も聞きますが、巨人ではライトを守っていたように思います。ライトはイチローがいるから不要。走力なら阪神の赤星とか、同じ巨人でも鈴木を入れるべき。なぜ亀井なのか??? まったく分かりません。 みなさんはどう思いますか? ご自由な意見を聞かせてください。

  • イチロー選手はオリックス時代、登録名を鈴木という名字の登録名から、イチ

    イチロー選手はオリックス時代、登録名を鈴木という名字の登録名から、イチローという名前の方を登録したとき、当時は、「珍しい」という評判を受けました。 そこで、質問です。 メジャーリーグでの登録名はICHIROだと思いますが、メジャーリーグでも名前の登録は「珍しい」といわれているのですか? ケン・グリフィーjrなら⇒ケン アレックス・ロドリゲス⇒アレックス デレック・ジータ⇒デレック というような、登録名は見たことありません。 姓・名の名を選んでいるイチロー選手、アメリカではこの呼び方をどのような評価・評判なんでしょうか?ご存知の方、教えてください。

  • XHTMLを読み込んで別のXHTMLに変換可能?

    PHPを使用して、表の項目並べ替えやソートをしたいと思っています。データベースは使用しません。出力はXHTMLを考えています。 CSVやXMLを元データとして持って、PHPで読み込み、動的に出力できるというのは分かったのですが、元データをCSVやXMLではなく、(規則的な構造で記述した)XHTMLで持ち、特定のidもしくはclassを持った要素の要素内容を読み込み、別のXHTMLに動的に出力するというのは、可能なのでしょうか? 可能な場合、サンプルがある書籍かURLを教えてくださると非常に助かります。 不可能な場合、理由をなるべく易しく(当方プログラムには詳しくないため)教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • PHP

専門家に質問してみよう