0

PHPを使用して、大きなxml値をSQLに挿入したいと考えています。

これはxmlの例です:

  <?xml version="1.0" encoding="utf-8" ?> 
<contacts>
<con>
  <id>1</id> 
  <name>user_name</name> 
  <city>city_name</city> 
  <street>street_name</street> 
  <phone1>phone_number1</phone1> 
  <phone2>phone_number2</phone2> 
  <phone3 /> 
  <phone4 /> 
  </con>


  <con>
  <id>2</id> 
  <name>user_name</name> 
  <city>city_name</city> 
  <street>street_name</street> 
  <phone1>phone_number1</phone1> 
  <phone2>phone_number2</phone2> 
  <phone3 /> 
  <phone4 /> 
  </con>

    </contacts>

私はこのようにSQLを作成するので、データを挿入したい:

CREATE TABLE IF NOT EXISTS `contacts` (
  `id` int(11) NOT NULL auto_increment,
  `name` varchar(250) NOT NULL,
  `city` varchar(250) NOT NULL,
  `street` varchar(250) NOT NULL,
  `phone_1` text NOT NULL,
  `phone_2` text NOT NULL,
  `phone_3` text NOT NULL,
  `phone_4` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1256 AUTO_INCREMENT=1 ;

この仕事はphpでできますか?どうすればそれを行うことができますか?

ありがとう

4

4 に答える 4

0

はい、xml 関数 xml_parse_into_struct() を使用して xml を配列に変換できます。ループを使用してデータベースにデータを挿入できます。

于 2012-04-17T13:27:40.883 に答える
0

xml ファイルを解析し、各データの sql クエリを作成してループし、クエリを実行し、クエリが成功したかどうかなどの検証を出力します...

于 2012-04-17T13:27:53.350 に答える
0

Dragon112 が言及しているように、PHP コードで XML を解析したいと考えています。同様の質問がすでに尋ねられ、回答されています。インスピレーションについては、こちらをご覧ください。

幸運を

于 2012-04-17T13:29:18.583 に答える
0

まず、phone_3andphone_4はデータベースでは NOT NULL であり、XML では設定されません。

これを行うには、php コード内の xml をXML パーサーで解析します(代替リファレンス)。その後は、それらをデータベースに挿入するだけです。

于 2012-04-17T13:25:55.687 に答える