【问题标题】:xml to phpmyadmin creates too many rowsxml 到 phpmyadmin 创建了太多行
【发布时间】:2015-10-07 21:50:20
【问题描述】:

新手在这里尝试从 file.xml 中提取“shoedept or ShoeDept, $50, 30%off special,Top quality design,latitude,longitude”到 phpmyadmin DB。 myTable 看起来很顽固,无法更改,但相同的字段顺序相同,只是名称不同;类型、价格、标题、描述、纬度、经度。

<source>
<id>shoedept</id>
<name>ShoeDept</name>
</source>
<location>
<address>174 Sioux</address>
<zip>48228</zip>
<citycode>usa:mi:detroit</citycode>
<name>Detroit</name>
<state>MI</state>
<country>USA</country>
<latitude>42.4089</latitude>
<longitude>-82.9432</longitude>
</location>
<images/>
<time>1444207824</time>
<paid>No</paid>
<score>1</score>
<user/>
<url>
http://................
</url>
<attributes>
<features>Leather</features>
<men>1</men>
<women>2</women>
<currency>USD</currency>
<fee>No</fee>
<has_pic>No</has_pic>
<price>50</price>
<price_display>$50</price_display>
</attributes>
</element>
<element>
<id>4030773537</id>
<title>
$50 / special
</title>
<body>
Top quality design
</body>

我写这篇声明;

LOAD DATA INFILE "file.xml" INTO TABLE myTable(headline,description.....) 

我得到了大量的行,列出了所有不需要的垃圾。我只想要整个块中的一行,字段列为列。当我尝试使用时

ROWS IDENTIFIED BY '<field>';

要将其压缩为一行,它会引发错误。然后我尝试创建一个临时表并将数据强制到 myTable 中,下面没有希望;

LOAD DATA INFILE "file.xml";
UPDATE tmp SET DEFAULT = 'file.xml';
INSERT INTO myTable SELECT * FROM tmp;

非常感谢

【问题讨论】:

  • nitpick:你确实没有有一个'phpmyadmin db'。 phpmyadmin 是一个管理界面。你有一个 mysql 数据库
  • load data infile 用于 CSV 数据。你不是给它 csv,而是给它 xml,这就是为什么有一个 load xml 命令... xml != csv

标签: php mysql xml phpmyadmin


【解决方案1】:

INFILE 必须是文本文件。也许您可以使用此工具对其进行转换: http://www.convertcsv.com/xml-to-csv.htm 或类似的东西。

然后将 .csv 文件导入数据库。

正如@Marc B 提到的,有一个 LOAD XML 命令 (https://dev.mysql.com/doc/refman/5.5/en/load-xml.html)。

【讨论】:

  • Tx 4 帮助。我最初尝试过; load xml infile 命令,但不断收到错误 29“找不到文件”。然后我尝试了“加载数据文件”,它没有产生所需的结果,但至少找到了文件并执行了。在您回答后,我将文件更改为 .csv 并再次返回 ERROR 29“找不到文件”。所以不知何故,我没有找到找到文件的运气。接下来,我尝试将数据 infile 'file.csv' 加载到表 myTable 中//还尝试加载数据....字段以 ',' 结尾,由 '"' 包围,行以 '\n' 结尾;仍然没有运气并得到同样未找到错误。Tx
  • 我认为每个人都应该感谢这个论坛的帮助,我将把它标记为最佳答案,因为它帮助我弄清楚 myTable 不想采用大多数文件格式。所以对sql一无所知,我的巫毒解决方案是尽可能地将文件简化为.txt,我不明白为什么,但到目前为止它比所有其他格式都好用。可能有更好的方法可以做到这一点,我需要继续尝试。再次感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-25
  • 2019-04-15
  • 2012-03-21
  • 2021-03-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多