php - 如何将XML元素的值写入MySQL数据库?

标签 php mysql xml

我必须将 XML 元素的值写入 MySQL 数据库。 例如,假设我有这个 XML 文档:

<users>
    <user>
        <name>John</name>
        <nick>nick1</nick>
    </user>
    <user>
        <name>Jack</name>
        <nick>nick2</nick>
    </user>
    <user>
        <name>Mike</name>
        <nick>nick3</nick>
    </user>
</users>

我必须将值写入 MySQL 数据库中的 members 表。因此,members 表必须如下所示:

+------+----------+
| name |  nick    |
+----+------------+
| John |  nick1   |
+------+----------+
| Jack |  nick2   |
+------+----------+
| Mike |  nick3   |
+------+----------+

我想用 PHP 来完成这个过程。如果您有什么想法,请评论。

最佳答案

$xmlString="<users>
    <user>
        <name>John</name>
        <nick>nick1</nick>
    </user>
    <user>
        <name>Jack</name>
        <nick>nick2</nick>
    </user>
    <user>
        <name>Mike</name>
        <nick>nick3</nick>
    </user>
</users>
";

$xml=new SimpleXMLIterator($xmlString);
foreach($xml as $user){
    $name=$user->name;
    $nick=$user->nick;
    mysql_query("INSERT INTO members(name, nick) VALUES('$name', '$nick')");
}

代码的重要部分是new SimpleXMLIterator($xmlString),这将创建一个可以循环的对象。

运行良好,经过测试。

关于php - 如何将XML元素的值写入MySQL数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8547137/

相关文章:

php - 使用 Navicat Premium 在 MySQL 中存储图像链接

php - 检索预订系统用户的唯一酒店 ID

MySQL:select * from table 和 select * from (select* from table) 之间的区别

mysql - 如何在grails中获取多个选定的文件?

xml - 针对 2 个 XSD 验证简单 XML - XMLCopyEditor

php - 授权的GAE应用程序必须与数据库实例在同一区域 |谷歌应用引擎

PHP 匹配一个字符串

mysql用索引解释文件排序

javascript - 如何在 C# Envelope->Error 中反序列化 XML

java - 尽管有 xml,但仍因缺少 ListView 而收到 RuntimeException