我有一个xml文件:
<root>
<application>
<app-name>Google App</app-name>
<group>
<group-name>MidasGoogleAppsUsers</group-name>
<user>
<username>knikkhoo</username>
<username>devendrat</username>
</user>
</group>
</application>
<application>
<app-name>MySql App</app-name>
<group>
<group-name>MidasSQLUsers</group-name>
<user>
<username>knikkhoo</username>
<username>devendrat</username>
</user>
</group>
</application>
<application>
<app-name>ESNutritio</app-name>
<group>
<group-name>MidasNutrition</group-name>
<user>
<username>knikkhoo</username>
<username>devendrat</username>
</user>
</group>
</application>
</root>
我有一个名为test_xml的表格,其中包含了strucutre,我在其中存储了这个XML:
Create table test_xml
(
ID int,
XMLData text
)
还有另一个表UserAppliaction
create table `test`.`UserApplication`(
`ID` int NOT NULL AUTO_INCREMENT ,
`ApplicationName ` varchar(100) ,
`GroupName` varchar(100) ,
`UserName` varchar(100) ,
PRIMARY KEY (`ID`)
)
如何将此数据存储到UserApplication表中。 我是Mysql的新手。
答案 0 :(得分:2)
不要尝试在SQL中解析XML。使用您最喜欢的应用程序编程语言来解析该事物,然后使用SQL查询插入提取的数据:
INSERT INTO UserApplication
SET ApplicationName = ?,
GroupName = ?,
UserName = ?
在大多数语言绑定中,您实际上可以输入这样的语句,包括引号,然后重复执行语句,为这些占位符传递不同的值。该库将负责正确地转发您的所有数据。这种方法通常被称为“预备语句”,因为语句的准备和执行是针对不同的步骤。