【发布时间】:2015-08-12 10:42:51
【问题描述】:
我在 php 中将以下 xml 数据打印为数组,所以现在我想转换这个 XML 数据并进行插入查询,所以如何做到这一点,因为我对 XML 不太擅长,所以如果有人可以编写示例代码将此 XML 数组转换为列和数据作为 sql 查询的一部分。
SimpleXMLElement Object
( [请求] => SimpleXMLElement 对象 ( [类型] => 城市 [查询] => 新西兰奥克兰 )
[weather] => Array
(
[0] => SimpleXMLElement Object
(
[date] => 2015-07-01
[astronomy] => SimpleXMLElement Object
(
[sunrise] => 07:35 AM
[sunset] => 05:15 PM
[moonrise] => 04:37 PM
[moonset] => 06:07 AM
)
[maxtempC] => 15
[maxtempF] => 60
[mintempC] => 10
[mintempF] => 50
[uvIndex] => 0
现在这里是生成上述 print_r($xml); 的 php 代码;
PHP 代码:
$xml_response = file_get_contents($premiumurl);
$xml = simplexml_load_string($xml_response);
现在,如果有人可以编写更多代码并使用列和行进行一个插入查询……那将是非常棒的,是的,我尝试了很多解决方案,甚至查看了一些教程,但无法学习或解决这个问题。提前谢谢你。
php 中的 SQL 查询将类似于以下内容,只需编写它,以便有人了解:
$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;
谢谢你们 :) 进阶
【问题讨论】:
-
你能发布你收到的
XML的完整数据吗? -
太长了,天气和时间数据太长了,太长了
-
没有问题,您可以提供
$premiumurl的值让我在提供解决方案之前进行测试。 -
您好,我无法将 $premiumurl 作为它的包含密钥发布,我无法在此处分享它,其次我希望更有可能从 XML 转换为 PHP,但我仍然为您粘贴 XML 代码