我正在寻找一种使用 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),您只需:
- 使用 SimpleXML 读取 XML 数据或其他一些 XML 解析器(如 DOM )
- 使用 PHP 的 build-in MySQL support 将数据存储到 MySQL 数据库中或更新 PDO library
因此,首先使用 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/