
我在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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)