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

首先phone_3andphone_4在数据库中是NOT NULL,而不是在XML中设置。

您可以通过使用XML 解析器替代参考)解析 php 代码中的 xml 来做到这一点。之后,它只是将它们插入数据库。

于 2012-04-17T13:25:55.687 回答
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 回答