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;

?>

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐