易截截图软件、单文件、免安装、纯绿色、仅160KB

sqlserver FOR XML PATH 语句的应用

代码如下:

DECLARE
@TempTable table(UserID int , UserName nvarchar(50));
insert into
@TempTable (UserID,UserName) values (1,'a')
insert into @TempTable
(UserID,UserName) values (2,'b')

select UserID,UserName
from @TempTable FOR XML PATH
运行这段脚本,将生成如下结果:
复制代码
代码如下:

<row>
<UserID>1</UserID>

<UserName>a</UserName>
</row>
<row>

<UserID>2</UserID>
<UserName>b</UserName>

</row>

大家可以看到两行数据生成了两个节点,修改一下PATH的参数:
select
UserID,UserName from @TempTable FOR XML PATH('lzy')
再次运行上述脚本,将生成如下的
结果:
复制代码
代码如下:

<lzy>
<UserID>1</UserID>

<UserName>a</UserName>
</lzy>
<lzy>

<UserID>2</UserID>
<UserName>b</UserName>

</lzy>

可以看到节点变成,其实PATH()
括号内的参数是控制节点名称的,这样的话大家可以看一下如果是空字符串(不是没有参数)会是什么结果?
select
UserID,UserName from @TempTable FOR XML PATH('')
执行上面这段脚本将生成结果:
复制代码
代码如下:

<UserID>1</UserID>
<UserName>a</UserName>

<UserID>2</UserID>
<UserName>b</UserName>


这样就不显示上级节点了,大家知道在 PATH 模式中,列名或列别名被作为 XPath
表达式来处理,也就是说,是列的名字,这样大胆试验一下不给指定列名和别名会是怎么样?
select CAST(UserID AS
varchar) + '',UserName + '' from @TempTable FOR XML PATH('')
运行上面这句将
生成结果
1a2b
所有数据都生成一行,而且还没有连接字符,这样的数据可能对大家没有用处,还可以再变化一下:
select
CAST(UserID AS varchar) + ',',UserName + '',';' from @TempTable FOR XML
PATH('')
生成结果
1,a;2,b;
大家现在明白了吧,可以通过控制参数来生成自己想要的结果,
例如:
select '{' + CAST(UserID AS varchar) + ',','"' +UserName +
'"','}' from @TempTable FOR XML PATH('')
生成结果
{1,"a&q


相关文档:

XML中含有html标签的问题

看结论请直接看下面
今天写生成xml的php。没有用什么XMLDOMNode之类的来生成,而是直接echo出xml的内容。
xml的内容中有一部分的数据是从db中循环取出的,问题就出在这。我发现全部取出数据时,对于生成的xml,simplexml_load_string返回false,即表明生成的xml是非法的。
debug一下,发现取出数据加以限制 limit 8 一下 ......

C#实现XML系列化和反系列化的总结

常用的系列化定义(using System.Xml.Serialization;)
[XmlAttribute("name")]        // 定义<Tag name="…"></Tag>
[XmlElement("label")]        // 定义<label>…</label>
[XmlIgnoreAttrib ......

java读取xml的4种方法

本文介绍Java读取xml文件的四种方法。
  xml文件:
  Xml代码
  <?xml version="1.0" encoding="GB2312"?> 
  <RESULT>
  <VALUE>
  <NO>A1234</NO>
  <ADDR>河南省郑州市</ADDR>
  </VALUE>
  <VALUE>
  < ......

一些SqlServer语句

一、基础
1、说明:创建数据库
CREATE DATABASE database-name
2、说明:删除数据库
drop database dbname
3、说明:备份sql server
--- 创建 备份数据的 device
USE master
EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 开始 备份
BACKUP DATABASE pubs TO testBack
4、说 ......

SQl Xml和C# Xml数据的一点操作总结

SQl Xml和C# Xml数据的一点操作总结
在此申明Xml是InfoSet数据不是字符串,所以在此强烈反对用string拼接xml。数据库可以存放xml类型数据,那么该数据的具体操作又如何了。
1.首先建立一张含有xml数据类型的表
CREATE TABLE [dbo].[TestXml](
 [ID] [bigint] IDENTITY(1,1) NOT NULL,
 [Message] [xml] NULL ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号