DECLARE @idoc int
DECLARE @doc varchar(max)
SET @doc ='<?xml version="1.0" encoding="gb2312" ?><NewDataSet>
<SQLDataSet>
<id>1</id>
<QCCheckControlItemId>QCCL0000000H</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>尺寸</Project>
<Specifications>12.25±0.2</Specifications>
<Sample1>234</Sample1>
<Sample2>234</Sample2>
<Sample3>234</Sample3>
<Sample4>43</Sample4>
<Sample5 />
<Judgement>NG</Judgement>
</SQLDataSet>
<SQLDataSet>
<id>2</id>
<QCCheckControlItemId>QCCL0000000I</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>尺寸</Project>
<Specifications>52±0.2</Specifications>
<Sample1>234</Sample1>
<Sample2>234</Sample2>
<Sample3>2</Sample3>
<Sample4>234</Sample4>
<Sample5 />
<Judgement>NG</Judgement>
</SQLDataSet>
<SQLDataSet>
<id>3</id>
<QCCheckControlItemId>QCCL0000000P</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>尺寸</Project>
<Specifications>12±2</Specifications>
<Sample1>324</Sample1>
<Sample2>234</Sample2>
<Sample3>234</Sample3>
<Sample4>234</Sample4>
<Sample5 />
<Judgement>NG</Judgement>
</SQLDataSet>
<SQLDataSet>
<id>4</id>
<QCCheckControlItemId>QCCL0000001D</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>尺寸</Project>
<Specifications>13.12±2</Specifications>
<Sample1>23</Sample1>
<Sample2>324</Sample2>
<Sample3>234</Sample3>
<Sample4>234</Sample4>
<Sample5 />
<Judgement>NG</Judgement>
</SQLDataSet>
<SQLDataSet>
<id>5</id>
<QCCheckControlItemId>QCCL0000001E</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>尺寸</Project>
<Specifications>13.79±0.2</Specifications>
<Sample1>324</Sample1>
<Sample2>324</Sample2>
<Sample3>342</Sample3>
<Sample4>324</Sample4>
<Sample5 />
<Judgement>NG</Judgement>
</SQLDataSet>
<SQLDataSet>
<id>6</id>
<QCCheckControlItemId>QCCL0000001F</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>尺寸</Project>
<Specifications>16.05±0.2</Specifications>
<Sample1 />
<Sample2 />
<Sample3 />
<Sample4 />
<Sample5 />
<Judgement />
</SQLDataSet>
<SQLDataSet>
<id>7</id>
<QCCheckControlItemId>QCCL0000001G</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>尺寸</Project>
<Specifications>4.95±0.2</Specifications>
<Sample1 />
<Sample2 />
<Sample3 />
<Sample4 />
<Sample5 />
<Judgement />
</SQLDataSet>
<SQLDataSet>
<id>8</id>
<QCCheckControlItemId>QCCL0000000X</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>功能</Project>
<Sample1 />
<Sample2 />
<Sample3 />
<Sample4 />
<Sample5 />
<Judgement />
</SQLDataSet>
<SQLDataSet>
<id>9</id>
<QCCheckControlItemId>QCCL0000000W</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>结构</Project>
<Sample1 />
<Sample2 />
<Sample3 />
<Sample4 />
<Sample5 />
<Judgement />
</SQLDataSet>
<SQLDataSet>
<id>10</id>
<QCCheckControlItemId>QCCL0000000Y</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>实配</Project>
<Sample1 />
<Sample2 />
<Sample3 />
<Sample4 />
<Sample5 />
<Judgement />
</SQLDataSet>
<SQLDataSet>
<id>11</id>
<QCCheckControlItemId>QCCL0000000V</QCCheckControlItemId>
<ObjType>首件</ObjType>
<Project>外观</Project>
<Sample1 />
<Sample2 />
<Sample3 />
<Sample4 />
<Sample5 />
<Judgement />
</SQLDataSet>
</NewDataSet>'
--Create an internal representation of the XML document.
EXEC sp_xml_preparedocument @idoc OUTPUT, @doc
-- SELECT stmt using OPENXML rowset provider
SELECT *
FROM OPENXML (@idoc, '/NewDataSet/SQLDataSet',2)
WITH (id char(12) 'id',
QCCheckControlItemId char(12) 'QCCheckControlItemId',
ObjType nvarchar(100) 'ObjType',
Project nvarchar(100) 'Project',
Specifications nvarchar(100) 'Specifications',
Sample1 float 'Sample1',
Sample2 float 'Sample2',
Sample3 float 'Sample3',
Sample4 float 'Sample4',
Sample5 float 'Sample5',
Judgement varchar(10) 'Judgement' ) exec sp_xml_removedocument @idoc

  长度一定要够不然会报错:例如

XML 文本 "    <Specifications>12±2</Specifications" 附近的行号 33 处出现 XML 分析错误 0xc00ce55f。
Msg 6602, Level 16, State 2, Procedure sp_xml_preparedocument, Line 1
错误说明是 'End 元素缺少 '>' 字符。'。
Msg 8179, Level 16, State 5, Line 147
找不到句柄为 0 的预定义语句。
Msg 6607, Level 16, State 3, Procedure sp_xml_removedocument, Line 1
sp_xml_removedocument: 为参数 1 提供的值无效。

 编码结构不对:例如

XML 文本 "    <ObjType>" 附近的行号 5 处出现 XML 分析错误 0xc00ce508。
Msg 6602, Level 16, State 2, Procedure sp_xml_preparedocument, Line 1
错误说明是 '文本内容中发现无效字符。'。
Msg 8179, Level 16, State 5, Line 147
找不到句柄为 0 的预定义语句。
Msg 6607, Level 16, State 3, Procedure sp_xml_removedocument, Line 1
sp_xml_removedocument: 为参数 1 提供的值无效。

  

SQL解析XML文件的更多相关文章

  1. 解析XML文件示例

    项目中要解析Xml文件,于是在工程里找了下前人写例子. 1,SAX(基于事件,效率高,使用声明加载什么). public class MVCConfig { private static MVCCon ...

  2. 【java项目实战】dom4j解析xml文件,连接Oracle数据库

    简单介绍 dom4j是由dom4j.org出品的一个开源XML解析包.这句话太官方.我们还是看一下官方给出的解释.例如以下图: dom4j是一个易于使用的.开源的,用于解析XML,XPath和XSLT ...

  3. 曹工说Spring Boot源码(7)-- Spring解析xml文件,到底从中得到了什么(上)

    写在前面的话 相关背景及资源: 曹工说Spring Boot源码(1)-- Bean Definition到底是什么,附spring思维导图分享 曹工说Spring Boot源码(2)-- Bean ...

  4. Android 解析XML文件和生成XML文件

    解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...

  5. JAVA使用SAX解析XML文件

    在我的另一篇文章(http://www.cnblogs.com/anivia/p/5849712.html)中,通过一个例子介绍了使用DOM来解析XML文件,那么本篇文章通过相同的XML文件介绍如何使 ...

  6. JAVA中使用DOM解析XML文件

    XML是一种方便快捷高效的数据保存传输的格式,在JSON广泛使用之前,XML是服务器和客户端之间数据传输的主要方式.因此,需要使用各种方式,解析服务器传送过来的信息,以供使用者查看. JAVA作为一种 ...

  7. java中采用dom4j解析xml文件

    一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...

  8. XML:使用DOM技术解析xML文件中的城市,实现select级联选择

    中国的城市xml格式:cities.xml <?xml version="1.0" encoding="utf-8"?> <china> ...

  9. dom4j如何解析XML文件

    最近在 一些对xml文件的操作,下面简单写一个dom4j解析xml文件并将其封装到一个javabean中的例子,只是具有针对性的,不是通用的,仅供参考哦~~ 首先说:dom4j是一个java的XML ...

随机推荐

  1. Solr教程--官方自带数据的三个练习及讨论翻译版本

    Solr教程 在你开始之前 解压Solr 练习1:索引Techproducts示例数据 在SolrCloud模式下启动Solr 索引技术产品数据 基本搜索 练习1总结 练习2:修改架构和索引影片数据 ...

  2. 洛谷——P2863 [USACO06JAN]牛的舞会The Cow Prom

    https://www.luogu.org/problem/show?pid=2863#sub 题目描述 The N (2 <= N <= 10,000) cows are so exci ...

  3. LoadRunner使用入门 进行Webservice负载測试

    1.什么是LoadRunner LoadRunner是HP公司的一款付费工具,该工具是一种预測系统行为和性能的负载測试工具. 通过模拟上千万用户实施并发负载来确认和查找问题. 2.什么是负载測试 通过 ...

  4. 转:iPhone libxml2 not found during build

    在新建的一个项目中,出现编译错误,发现是缺少了libxml2.dylib,后面将这个资源包添加了,编译还是出现标题上所说的问题 #import <libxml/tree.h> //#imp ...

  5. html+css实现选项卡功能

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. WebAPI返回数据类型解惑 以及怎样解决Extjs无法解析返回的xml

    最近开始使用WebAPI,上手很容易,然后有些疑惑 1.WebAPI默认返回什么数据类型,json还是xml? 2.怎么修改WebAPI的返回数据类型,我用IE浏览器请 求返回的数据都是JSON格式的 ...

  7. python判断一个单词是否为有效的英文单词?——三种方法

    For (much) more power and flexibility, use a dedicated spellchecking library like PyEnchant. There's ...

  8. 安卓开发--HttpClient

    package com.zx.httpclient01; import android.app.Activity; import android.os.Bundle; import android.v ...

  9. 51Nod 3的幂的和(扩展欧几里德求逆元)

    求:3^0 + 3^1 +...+ 3^(N) mod 1000000007 Input 输入一个数N(0 <= N <= 10^9) Output 输出:计算结果 Input示例 3 O ...

  10. win10 的MQTT + apache-apollo服务器使用

    我的使用环境是windows10 2.下载文件目录(注意:开始看教程说直接打开bin目录下的apollo.cmd文件,闪退,原因是没有java_home环境,必须添加java环境): 3.安装好jav ...