我想使用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完成这项工作吗?我该怎么办?
由于
答案 0 :(得分:0)
首先,phone_3
和phone_4
在数据库中不是NULL,而不是在XML中设置。
您可以使用XML Parser(alternative reference)解析php代码中的xml。之后,它只是将它们插入数据库。
答案 1 :(得分:0)
是的,您可以使用xml函数xml_parse_into_struct()将xml转换为数组,而不是使用可以在数据库中插入数据的循环。
答案 2 :(得分:0)
解析xml文件,循环构建每个数据的sql查询,执行查询,如果查询成功与否则输出一些验证...
答案 3 :(得分:0)
正如dragon112所提到的,你想要在PHP代码中解析XML。已经提出并回答了类似的问题。看看here寻找灵感。
祝你好运