0

test.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<propertyList>
  <business  type="food">
  <listingAgent id="1">
    <name>Spiro Abelas</name>
    <email>spiro@abelas.com.au</email>
  </listingAgent>
 </business>
 <business  type="food">
  <listingAgent id="2">
    <name>andy</name>
    <email>andy@abelas.com.au</email>
  </listingAgent>
 </business>
</propertyList>

PHPコードXMLファイルをオブジェクトに解釈します

<?php
  if (file_exists('test.xml')) {
    $xml = simplexml_load_file('test.xml');
      echo "<pre>";
      print_r($xml);
      echo "</pre>";
  } else {
     exit('Failed to open test.xml.');
     }
 ?>

出力

     SimpleXMLElement Object
(
[business] => Array
(
[0] => SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [type] => food
        )
    [listingAgent] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [id] => 1
                )
            [name] => spiro
            [email] => spiro@abelas.com.au
        )
)
[1] => SimpleXMLElement Object
(
    [@attributes] => Array
        (
            [type] => food
        )
    [listingAgent] => SimpleXMLElement Object
        (
            [@attributes] => Array
                (
                    [id] => 2
                )
            [name] => andy
            [email] => andy@abelas.com.au
        )
)))

テーブル構造

ここに画像の説明を入力してください

そのようなデータをテーブルに挿入したい

ここに画像の説明を入力してください

しかし、配列からデータを取得して複数の行に挿入する方法がわかりません

だからplzはそれを整理する方法を教えてくれます

4

1 に答える 1

1
foreach($xml->business as $row)
{
  $business_type = $row->attributes()->type;
  $id = $row->listingAgent->attributes()->id;
  $name = $row->listingAgent->name;
  $email = $row->listingAgent->email;
  mysql_query('INSERT INTO table…');
}
于 2012-05-29T13:16:33.357 に答える