【问题标题】:creating fields for loading xml to mysql创建用于将 xml 加载到 mysql 的字段
【发布时间】:2013-03-19 14:35:11
【问题描述】:

我正在尝试将 xml 数据提要上传到 mysql,以便我可以将数据库与我的 php 程序一起使用。我遇到的问题通常是我创建字段并导入提要。但是我现在的提要有点奇怪..

<name>test</name>
<address>test address</address>
<phone>251447</phone>
</phone_count>
<pets>cat</pets>
</pet_count>
<images>
  <image>1.jpg</image>
  <image>2.jpg</image>
  <image>4.jpg</image>
  <image>16.jpg</image>
</images>

谁能告诉我如何为&lt;/phone_count&gt; &lt;/pet_count&gt; 创建字段,因为这些字段只有结束标记。

如何为每张图片创建一个字段?因为我没有在子集中插入数据。

我正在尝试使用

加载数据
LOAD DATA LOCAL INFILE '/tmp/xml/data.xml'
INTO TABLE person_data

【问题讨论】:

  • 在 XML 中,只有 或 不能是有效的 xml 标签

标签: php mysql xml


【解决方案1】:

您的输入 XML 文件已损坏,没有相应的开始标签就没有结束标签。这个 XML 流的作者可能是指&lt;phone_count/&gt;&lt;pet_count/&gt;(注意正斜杠的位置)。此语法与(例如)&lt;pet_count&gt;&lt;/pet_count&gt; 相同。

关于导入此流程的方法,您将无法使用 LOAD DATA INFILE 执行此操作,因为您的主要实体之间存在 1-n(一对多)关系(我猜类似“联系”)和图像。理想情况下,您的数据库中有两张表,例如contactimageLOAD DATA INFILE 允许一次导入一张表。

您最好在 PHP 中以编程方式解析此文件。

再想一想,如果一个给定联系人最多有四个图像,那么我可以想象一个有四个 image1、...、image4 字段的 contact 表,但我不会认为这是一种很好的做法。

【讨论】:

  • 谢谢...问题出在数据馈送上。他们没有包含正确的标签。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-21
  • 2012-11-10
  • 2013-02-02
  • 1970-01-01
相关资源
最近更新 更多