易截截图软件、单文件、免安装、纯绿色、仅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


相关文档:

C#.Net操作XML文件的数据

XML文件作为数据数据存储介质的一种,好处在于:任何的系统均可以解析它。
XML全称:Extensible Markup Language(扩展标记语言)使用文档类型定义(DTD)或者模式(Schema)来描述数据的。可供人阅读,而且还基于一种公共的开发标准。
最近由于开发的需要,也是研究以下XML的操作,本篇日志主要总结C#.NET中是如何操作XM ......

在Visual C#中使用XML指南之读取XML

我们今天来讲一下该体系结构中的XmlTextReader类,该类提供对Xml文件进行读取的功能,它可以验证文档是否格式良好,如果不是格式良好的Xml文档,该类在读取过程中将会抛出XmlException异常,可使用该类提供的一些方法对文档节点进行读取,筛选等操作以及得到节点的名称和值,请牢记:XmlTextReader是基于流模型的实现,打个 ......

在MFC程序中使用XML文件配置工具栏

作者:朱金灿
来源:http://blog.csdn.net/clever101/
      现在我发现使用Visual Studio的资源编辑器进行编辑资源有着诸多的不便:首先是任何资源的变动一般变动代码,不利于系统维护,其次Visual Studio的资源编辑器的本身的功能有限,也不利于界面美化,三是不利于人员分工,开发人员既要忙 ......

XML中含有html标签的问题

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

SQLServer 中表的自增长列

1.建表(Create table)时使用 IDENTITY (SEED,INCREMENT)
其中SEED是起始值,INCREMENT是增量。
例:
CREATE TABLE mytable1
    (
      [user_id] BIGINT NOT NULL
                       IDENTITY(1, 1) , ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号