测试几个xml的问题
使用sql server的时候,免不了与xml的参数打交道,xml大多数时候都给我们的程序带来方便,但是也有些时候会有变量赋值不通过的时候。(当然罗,如果你本身xml都通不过 xml spy 之类软件的检查的话那就不是这方面的范围啦~)
今天分享的例子非常简单,就测试几个例子
DECLARE @x XML --
SELECT @x =
'<a>1</a>'
--
SELECT @x =
'<?xml version="1.0" encoding="utf-8"?>
<a>1</a>
'
--
SELECT @x =
N'<?xml version="1.0" encoding="utf-8"?>
<a>1</a>
'
--
SELECT @x =
'<?xml version="1.0" encoding="utf-8"?>
<a>一个人</a>
'
--
SELECT @x =
'<?xml version="1.0" encoding="GBK"?>
<a>单身狗汪</a>
'
例子1 :
我们平常见到最多的例子,编译通过无压力。变量赋值通过,随后查询,解析,随你的便~
例子2:
编译也是通过的,貌似这个是最容易引起误会的地方,我之前一直以为sql server 里面的赋值是不支持带
<?xml version="1.0" encoding="utf-8"?>
这种头部的 ,所以平时跟coder说如果出现这种错误,把头部去掉就好了(确实会好,只是原因搞错了(⊙﹏⊙)b)。其实本身xml 类型是支持的,只是我们调用存储过程或者语句里面的参数赋值的时候应用的场景问题而已。sql server表示这锅我不背
例子3:
这个例子编译就有问题了,编译器就抛出
消息 9402,级别 16,状态 1,第 8 行
XML 分析: 行 1,字符 38,无法切换编码
然而例子3和例子2 的差别就是 例子3 的赋值使用了 unicode 的编码方式而例子2并没有这样干,所以例子3 瞬间就跪了╮(╯_╰)╭。所以我们平时发现的数据库传参报错是因为使用了这种方式进行,所以我就一直被忽悠了_(:з」∠)_。所以并不是不支持,只是我们的调用方式有问题
例子4:
消息 9420,级别 16,状态 1,第 9 行
XML 分析: 行 2,字符 5,非法的 xml 字符
咦~又报错啦~这次是非法xml 字符,看起来就是编码是utf-8 的这种不支持中文咯。所以有时候这些细节不注意就真是……/(ㄒoㄒ)/~~
例子5:
编译顺利通过,这次将里面的编码换成GBK编码,就可以支持中文啦。当然编译也是完全没问题罗。
补充另外一个例子
SELECT @x =
'<?xml version="1.0" encoding="GBK"?>
<a>繁体字 龍 _(:з」∠)_</a>
'
也是ok的,一些繁体字在GBK的字库里面也是可以支持,一般也不一定需要纠结这个问题。除非一些特殊符号,就难说了呵呵哒
最后,encoding="utf-8" 和 encoding="UTF-8" 是等价的,在这里并没有区分大小写。注意是在这里……
今天就分享了这个小例子~如果有什么不对,肯定指正
测试几个xml的问题的更多相关文章
- selenium测试框架使用xml作为对象库
之前已经写过一篇: selenium测试框架篇,页面对象和元素对象的管理 上次使用的excel作为Locator对象管理,由于excel处理不够方便,有以下缺点: 不能实现分page 加载Locato ...
- 07.基于IDEA+Spring+Maven搭建测试项目--logback.xml配置
<?xml version="1.0" encoding="UTF-8"?> <configuration> <!-- 控制台日志 ...
- LR 测试http协议xml格式数据接口
Action() { lr_start_transaction("T1"); web_custom_request("xxxxHTTPRequest", &qu ...
- 06.基于IDEA+Spring+Maven搭建测试项目--dubbo-consumer.xml配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 04.基于IDEA+Spring+Maven搭建测试项目--application-context.xml配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- 05.基于IDEA+Spring+Maven搭建测试项目--web.xml配置
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" " ...
- 【RF库XML测试】parse xml
Name:Parse XmlSource:XML <test library>Arguments:[ source | keep_clark_notation=False ]Parses ...
- python webdriver 测试框架-数据驱动xml驱动方式
数据驱动xml驱动的方式 存数据的xml文件:TestData.xml: <?xml version="1.0" encoding="utf-8"?> ...
- 测试单点登录xml配置
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://w ...
随机推荐
- Android开发中的menu菜单
复写onCreateOptionsMenu方法,当点击menu菜单时,调用该方法. @Override public boolean onCreateOptionsMenu(Menu menu) { ...
- PJAX初体验(主要是利用HTML5 新增API pushState和replaceState+AJAX)
说在前面 什么是PJAX呢? 站在应用角度的就是既实现了页面无刷新的效果,同时也产生了浏览器的前进和后退,而且url也会变化. 也不是什么新鲜技术,主要是AJAX+html5 pushState和re ...
- .NET 扩展方法 (二)
上一篇随笔 .NET 扩展方法 (一) 已经对 扩展方法有了大致的介绍,这篇算是一个补充,让我们来看一下扩展方法的几个细节: 一.扩展方法具有继承性 当使用扩展方法扩展一个类型的时候,其也扩展了派生类 ...
- view向controller提交列表
第一次将view中列表提交到controller,尝试了下,还是可以的 要传输的实体类 /// <summary> /// 用于展示的角色类 /// </summary> pu ...
- 从零开始学Python08作业思路:开发简单的FTP
一,作业要求 开发简单的FTP 1,用户登录 2,上传/下载文件 3,不同用户家目录不同 4,查看当前目录下文件 5,充分使用面向对象 二,程序文件清单 Folder目录:用户上传文件家目录 db目录 ...
- Combobox的使用
第一次写博客,只是对自己在工作中遇到的问题进行一次总结回顾,为以后有同样的错误有一个参考: 由于最近空余时间很少,只是零零散散的把平时记录的笔记搬到博客园而已,博客中可能出现一些低级错误,希望互相学习 ...
- mariadb 10.2.3支持延时复制
在mysql 5.6开始就支持延时复制,这在一些需要维护大量非标准化系统或者运维技术水平较低的公司和开发人员众多的项目组这是一个非常有价值的特性,可以说误操作的概率跟一个城市车祸概率的水平差不多了,我 ...
- Java设计模式之单例模式
很多人都疑惑,单例模式是什么?为什么要用单例模式?在这里,笔者记录的仅仅只是自己对于知识点的理解,如果有错误的,请下方评论指教,共同进步,谢谢. 单例模式是什么? 简单理解: 单例就是一个实例被多个用 ...
- jquery背景自动切换特效
查看效果网址:http://keleyi.com/a/bjad/4kwkql05.htm 本特效的jquery版本只支持1.9.0以下. 代码如下: <!DOCTYPE html PUBLIC ...
- Git分布式版本控制学习
git和SVN都是版本控制系统.git是命令行操作,不喜欢的就算了,看完如果有身体不适还请及时就医~ git WIN32百度网盘下载地址:http://pan.baidu.com/s/1c1AeY9 ...