怎样将XML文件导入数据库

怎样将XML文件导入数据库,第1张

要用php 把XML数据导入mysql ,xml里所有的数据导入数据库

我在php手册里找了个例子

to import xml into mysql

$file = "article_2_3032005467.xml"

$feed = array()

$key = ""

$info = ""

function startElement($xml_parser, $attrs ) {

global $feed

}

function endElement($xml_parser, $name) {

global $feed, $info

$key = $name

$feed[$key] = $info

$info = ""}

function charData($xml_parser, $data ) {

global $info

$info .= $data}

$xml_parser = xml_parser_create()

xml_set_element_handler($xml_parser, "startElement", "endElement")

xml_set_character_data_handler($xml_parser, "charData" )

$fp = fopen($file, "r")

while ($data = fread($fp, 8192))

!xml_parse($xml_parser, $data, feof($fp))

xml_parser_free($xml_parser)

$sql= "INSERT INTO `article` ( `"

$j=0

$i=count($feed)

foreach( $feed as $assoc_index =>$value )

{

$j++

$sql.= strtolower($assoc_index)

if($i>$j) $sql.= "` , `"

if($i <=$j) {$sql.= "` ) VALUES ('"}

}

$h=0

foreach( $feed as $assoc_index =>$value )

{

$h++

$sql.= utf8_decode(trim(addslashes($value)))

if($i-1>$h) $sql.= "', '"

if($i <=$h) $sql.= "','')"

}

$sql=trim($sql)

echo $sql

关于xml如何导入鼎信诺相关资料如下

1、先打开用友nc。:

2、再打开前端,在里面找到拥有的版本,选择后进入。:

3、点连接,再选择要导入的鼎信诺。:

4、最后选择你要存放的位置(就是保存途径)即可完成导入。

SQLServer2005分解并导入xml文件[@more@]

1. 一次性导入:

DECLARE @idoc int

DECLARE @doc xml

SELECT @doc=BulkColumn FROM OPENROWSET(BULK N'E:MStarIndustryCodes.xml', SINGLE_BLOB) AS x

EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

SELECT * into tmp_tab FROM OPENXML (@idoc, '/Root/Record'/',2)

WITH

(

IndustryCode varchar(10)

,IndustryGlobalId varchar(10)

,IndustryName varchar(100)

,SectorCode varchar(10)

,SectorGlobalId varchar(10)

,SectorName varchar(100)

,SuperSectorCode varchar(10)

,SuperSectorName varchar(100)

,GroupCode varchar(10)

,GroupName varchar(100)

,CountryId varchar(3)

)

EXEC sp_xml_removedocument @idoc

select * from tmp_tab

2. 先导入到表中varchar(MAX)列,然后再用OPENXML解析,读出。

-- 使用SINGLE_CLOB参数,tmp_raw中字段为varcahr(MAX)类型

SELECT * into tmp_raw FROM OPENROWSET(BULK N'E:MStarIndustryCodes.xml', SINGLE_CLOB) AS x

DECLARE @idoc int

DECLARE @doc xml

select @doc = BulkColumn from tmp_raw

EXEC sp_xml_preparedocument @idoc OUTPUT, @doc

SELECT top 10 * FROM OPENXML (@idoc, '/Root/Record', 1)

WITH

(

IndustryCode varchar(10)

,IndustryGlobalId varchar(10)

,IndustryName varchar(100)

,SectorCode varchar(10)

,SectorGlobalId varchar(10)

,SectorName varchar(100)

,SuperSectorCode varchar(10)

,SuperSectorName varchar(100)

,GroupCode varchar(10)

,GroupName varchar(100)

,CountryId varchar(3)

)

EXEC sp_xml_removedocument @idoc


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/6763752.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-27
下一篇2023-03-27

发表评论

登录后才能评论

评论列表(0条)

    保存