0

我正在尝试将 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>

有人可以告诉我如何创建字段,</phone_count> </pet_count>因为这些字段只有结束标签。

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

我试图使用加载数据

LOAD DATA LOCAL INFILE '/tmp/xml/data.xml'
INTO TABLE person_data
4

1 回答 1

1

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

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

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

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

于 2013-03-19T14:42:30.090 回答