php - 寻找一种使用 php 解析 XML 字符串并将其插入 MySQL 的方法

标签 php mysql xml xml-parsing

我正在寻找一种使用 php 解析以下 XML 字符串数据并将其插入 MySQL 表的方法。请帮忙

<?xml version="1.0" encoding="UTF-8"?><brandModelListResponse>  
<brand ID="Nokia" Description="Nokia">  
    <model ID="N93i" OS="Symbian" OSVersion="SymS60V3" image="nokia-n93i.gif">N93i</model>  
    <model ID="N95" OS="Symbian" OSVersion="SymS60V3" image="nokia-n95.gif">N95</model>  
    <model ID="Nokia300" OS="Symbian" OSVersion="SymS60V3" image="">Nokia300</model>  
</brand>
<brand ID="Motorola" Description="Motorola">  
    <model ID="E1070" OS="J2ME" OSVersion="Motorola J2ME A.5" image="'E1070.jpg">E1070</model>  
    <model ID="E398" OS="J2ME" OSVersion="Motorola J2ME A.1" image="">E398</model>  
</brand>  

我有两个表,一个用于品牌和其他型号。需要将以上 xml 中的所有可用数据插入到这些表中。

提前致谢
安萨尔

最佳答案

为了从 XML 中收集数据并将其保存到数据库中,需要执行两个步骤。首先,您需要读取 XML 并将其存储到一些 PHP 数据结构中。其次,您需要将这些数据结构存储到数据库中。

假设您使用的是全新的 PHP (>=5),您只需:

因此,首先使用 XML 解析器读取数据。完成后,继续使用 MySQL 库。为了将数据存储到 MySQL 数据库,需要一些基本的 SQL 知识。例如引用W3School的MySQL tutorial .

当然,您需要自己完成最后的编码。但作为一个简单的结构提案,您的脚本可能看起来像这样:

$xml_data = file_get_contents('file.xml');
$xml = new SimpleXMLElement($xml_data); 

foreach ($xml->item as $item)
{
  $sql = 'INSERT INTO table (...) VALUES ('.$item['name'].');';
  mysql_query(...); //
}

关于php - 寻找一种使用 php 解析 XML 字符串并将其插入 MySQL 的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3954104/

相关文章:

javascript - 将来自 ajax 调用的 PHP 链接数据发送到不同的页面 onclick

php - 如何将变量传递给 id 变量

mysql - 在 MySQL 查询中需要帮助 - GROUP BY

php - Joomla 将 mysql 表重新索引为函数

java - 无法使用 ColdFusion 10.0 正确初始化 xml 安全库

sql-server - T-SQL 替换 XML 节点

php - Wordpress wp-api 通过用户名获取用户

mysql 列出不包括周末的数据

ruby-on-rails - 在 Rails 应用程序中导入 XML 文件,UTF-16 编码问题

php - 数据库中 HTML 表格的样式