使用这种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>';
答案 0 :(得分:3)
是的,假设你有一个结构良好的XML文档,你的例子不是。 见LOAD XML Syntax
此语句支持三种不同的XML格式:
- 列名称作为属性,列值作为属性值:
<row column1="value1" column2="value2" .../>
- 列名称为标签和 列值作为这些标记的内容:
<row>
<column1>value1</column1>
<column2>value2</column2>
</row>
- 列名是标签的名称属性,值是 这些标签的内容:
<row>
<field name='column1'>value1</field>
<field name='column2'>value2</field>
</row>
这是您的第二种格式。