将xml文件插入sql

时间:2012-04-17 13:21:03

标签: php sql xml

我想使用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 个答案:

答案 0 :(得分:0)

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

您可以使用XML Parseralternative reference)解析php代码中的xml。之后,它只是将它们插入数据库。

答案 1 :(得分:0)

是的,您可以使用xml函数xml_parse_into_struct()将xml转换为数组,而不是使用可以在数据库中插入数据的循环。

答案 2 :(得分:0)

解析xml文件,循环构建每个数据的sql查询,执行查询,如果查询成功与否则输出一些验证...

答案 3 :(得分:0)

正如dragon112所提到的,你想要在PHP代码中解析XML。已经提出并回答了类似的问题。看看here寻找灵感。

祝你好运