mysql - 无论如何,有没有使用 MySQL 的 LOAD XML LOCAL INFILE

标签 mysql xml load local file-io

使用这种类型的 XML 格式吗?

<details>
  <detail>
    <name>Woofer Size</name>
    <value>12"</value>
  </detail>
  <detail>
    <name>Woofer Material</name>
    <value>KEVLAR-reinforced pulp</value>
  </detail>
  <detail>
    <name>Magnet Size</name>
    <value>74 oz.</value>
  </detail>
  <detail>
    <name>Continuous Power Handling</name>
    <value>250W</value>
  </detail>
  <detail>
    <name>Peak Power handling</name>
    <value>750W</value>
  </detail>
  <detail>
    <name>Impedance</name>
    <value>4 ohms</value>
  </detail>
  <detail>
    <name>Number of Voice Coils</name>
    <value>1</value>
  </detail>
  <detail>
    <name>Frame Material</name>
    <value>Steel</value>
  </detail>
  <detail>
    <name>Surround Material</name>
    <value>Santoprene rubber</value>
  </detail>
  <detail>

我不知道如何解决将数据导入 MySQL 数据库的问题。我的问题是:是否可以将其直接加载到 MySQL 中?

更新

解决方案是创建一个表。

CREATE TABLE data(
   name VARCHAR(250),
   value VARCHAR(250));

然后使用这个语句:

LOAD XML LOCAL INFILE
'path/to/the/file.xml'
INTO TABLE data ROWS IDENTIFIED BY '<detail>';

最佳答案

是的,假设您有一个格式良好的 XML 文档,但您的示例没有。 请参阅LOAD XML Syntax

This statement supports three different XML formats:

  • Column names as attributes and column values as attribute values:

<row column1="value1" column2="value2" .../>

  • Column names as tags and column values as the content of these tags:
<row>
    <column1>value1</column1>
    <column2>value2</column2> 
</row>
  • Column names are the name attributes of tags, and values are the contents of these tags:
<row>   
    <field name='column1'>value1</field>   
    <field name='column2'>value2</field> 
</row>

这是适合您的情况的第二种格式。

关于mysql - 无论如何,有没有使用 MySQL 的 LOAD XML LOCAL INFILE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7663790/

相关文章:

输入为 1970 的 PHP 日期

php - PHP 中的 XML 编码/解码类

xml - 使用XPath查询提取XML

ios - UIWebView ScrollView 内容半画

javascript - 有没有办法使用 jQuery 或 Javascript 强制在 Firefox 中打开页面?

hadoop - 递增数据加载到配置单元表

php mysql select语句不重复

php - 如何从数据库中提取特定值,并将其显示为纯文本而不是表中

mysql - 1 指向多列的主键

android - Android 资源的 XML 注释可以自动复制到 R 中吗?