【问题标题】:Inserting XML into MySQL将 XML 插入 MySQL
【发布时间】:2014-05-14 17:15:53
【问题描述】:

我正在尝试将一些 XML 插入 MySQL 表,但遇到了一些麻烦,因为我只想插入某些属性,而不是 XML 文件中的所有属性。

这是 XML 的子集: <rosters> <team id="1" team_name="Ravens"> <players> <player id="28" jersey_number="34" first_name="Joe" last_name="Flacco"/> <player id="4" jersey_number="43" first_name="Ray" last_name="Lewis"/> </players> </team> <team id="2" team_name="Broncos"> <players> <player id="9" jersey_number="5" first_name="Peyton" last_name="Manning"/> </players> </team> </rosters>

我想遍历每支球队,并在球队中插入具有某些属性的球员。

这些将是 MySQL 表中的列:player_id(主键和自动增量)、first_name、last_name 和玩家各自的团队。

这将是插入属性后所需的表:

player_id, first_name, last_name,   team
        1,        Joe,    Flacco,  Ravens
        2,        Ray,     Lewis,  Ravens
        3,     Peyton,   Manning, Broncos

我是 XML 新手,我发现的大多数答案通常将所有元素插入到一个表中。如果有人可以帮助我解决我的具体问题或将我引导至资源,将不胜感激。

【问题讨论】:

  • 您使用什么将这些数据插入 MySQL 数据库?有代码吗?

标签: mysql xml


【解决方案1】:

LOAD XML 就是你要找的东西。

类似于LOAD DATA 命令(只需在提供的示例中将DATA 替换为XML):

您还可以通过将输入值分配给用户变量而不将变量分配给表列来丢弃输入值:

LOAD DATA INFILE 'file.txt'
INTO TABLE t1
(column1, @dummy, column2, @dummy, column3);

【讨论】:

  • 谢谢。我能够插入所需的属性,并且能够指定我想要的属性。
  • 谢谢@user3637624,我不知道这是可能的。
猜你喜欢
  • 2020-07-13
  • 2020-12-01
  • 2017-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多