xml转换为mysql_将xml数据转换为mysql插入/更新查询使用php

bd96500e110b49cbb3cd949968f18be7.png

I am working on this project that basically reads the data from xml file and insert/update the data into mysql database.

Here is the sample.xml file:

Titanic

40

5

4

3

I break down the problem into:

1) Get the values from XML file.

2) Insert the extracted values into mysql database.

I am able to work on insert the values to database, but the hard part is getting the values from xml making me crazy.

Here is my Database Table looks like:

Database name: Movies

Columns: movie_name, dvd, blueray, netflix, amazon

Here is the code that I tried to extract the attribute values from xml.

$source = 'sample.xml';

// load as string

$xml = new SimpleXMLElement($source,null,true);

$movie_name= $xml->column->attributes()->name;

echo $movie_name. "\n";

?>

Output:

Instead of getting the name of movie "Titanic", I get "movie_name".

解决方案

You can use this query:

$source = 'sample.xml';

// load as string

$xml = new SimpleXMLElement($source,null,true);

$movie_name= $xml->column->attributes()->name;

//echo $movie_name. "\n";

$table = $xml->attributes()->name;

$columns ="";

foreach($xml as $column){

$columns .= (string)$column->attributes()->name .",";

}

$columns = rtrim($columns, ",");

$values ="";

foreach($xml->column as $value){

$values .= $value ."," ;

}

$values = rtrim($values, ",");

$query = " INSERTO INTO $table ( $columns ) VALUES ( $values ) ";

echo $query;

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值