【问题标题】:PHP XML data for insert query用于插入查询的 PHP XML 数据
【发布时间】: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 代码

标签: php mysql xml


【解决方案1】:

您的查询有错误

改变

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 2014-07-21
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多