【问题标题】:How can i insert data from an XML into a database [duplicate]如何将 XML 中的数据插入数据库 [重复]
【发布时间】:2015-03-28 14:47:05
【问题描述】:

我想使用 php 将以下 XML 文件插入到 Mysql 数据库中

<?xml version="1.0" encoding="UTF-8"?>
<PrintLetterBarcodeData 
    uid="725733706873" 
    name="RAVINDER KUMAR" 
    gender="M" 
    yob="1996" 
    co="S/O KAKA RAM" 
    house="460A" 
    street="WARD NO. 6" 
    lm="NA" 
    loc="NA" 
    vtc="Nanyola (292)" 
    po="Naneola" 
    dist="Ambala" 
    state="Haryana" 
    pc="134003"
/>

如何从这个 XML 文件中提取数据以将它们插入数据库?

【问题讨论】:

标签: php mysql xml


【解决方案1】:

对于 PHP 方法,您会发现以下内容很有用:

<?php
$string = <<<XML
  <PrintLetterBarcodeData 
    uid="725733706873" 
    name="RAVINDER KUMAR" 
    gender="M" 
    yob="1996" 
    co="S/O KAKA RAM" 
    house="460A" 
    street="WARD NO. 6" 
    lm="NA" 
    loc="NA" 
    vtc="Nanyola (292)" 
    po="Naneola" 
    dist="Ambala" 
    state="Haryana" 
    pc="134003"
  />
XML;


$xml = simplexml_load_string($string);
$attribs = $xml->attributes();
// convert the '$attribs' to an array
foreach($attribs as $key=>$val) {
    $arrayOfAttribs[(string)$key] = "'".(string)$val."'";
}
$namesOfColumns = implode(",", array_keys($arrayOfAttribs));
$valuesOfColumns = implode(",", array_values($arrayOfAttribs));

// your database stuff
$query = "INSERT INTO yourtable ($namesOfColumns) VALUES ($valuesOfColumns);";
?>

【讨论】:

  • @hakre 确实这是一个相当有趣的话题,但我提供的只是一个简单的“如何做”,没有考虑安全性或性能等任何基本因素。
  • 我也许应该降低一点。这里的 PHP 部分场景需要 mysql 字段名验证。这个网站没有很好地介绍它。另一个问题是关于不使用参数化查询,这将使示例更好恕我直言。您是对的,您不需要在答案中提供该信息。这只是我的评论。
猜你喜欢
  • 2012-12-20
  • 1970-01-01
  • 2016-12-11
  • 2013-05-10
  • 1970-01-01
  • 2020-01-21
  • 2016-03-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多