如何用一条for xml sql语句实现树形结构的xml文档生成(能否实现)?

时间:2021-12-27 04:31:43
结构:
id,node_name,parent_id;
或者能实现类似oracle的start with,connect by的效果也可以

20 个解决方案

#1


一句不行.考虑前台处理或用存储过程.

#2


那么在查询分析器中出现for xml查询未能完整的返回xml文档数据
且出现:

(所影响的行数为 921 行)

[Microsoft][ODBC SQL Server Driver]收到来自 SQL Server 的未知令牌
的错误又是怎么回事?

#3


你的数据有什么?查询代码是怎么样写的?

#4


查询就是普通的for xml查询(使用了tag,parent进行了结点指定的语法)..
xml文档返回了很多字符串数据..但是被截断了.无法形成合式的xml文档

#5


xml被截断是因为你在Query Analyzer中配置的RESULTS的值太小,你可以在OPTIONS---RESULTS--MAXIMUM CHARACTERS PER COLUMN 增加到8000.

如果你要在CLIENT端返回XML文档,你要注意配置
SET TEXTSIZE 2147483647

#6


用一条for xml sql语句实现树形结构的xml文档生成(能否实现)?

是可以的!

#7


to leimin(黄山光明顶) 
我已经设置到8000了

另外你说可以做到,能给个例子

#8


学习

#9


学习

#10


学习

#11


up

#12


可以实现,不过在查询分析器中得到的xml串没有root节点。可以考虑前台处理。

#13


现在我不是要一个有root的xml文档.
而实际上是返回的xml树片段都不完整,我加上root也无法形成合式的xml文档..

另外,你们都说可以实现,却没有一个能拿出例子说明,或者提供思路,所以我对你们的话表示怀疑

#14


没人回答就别怪我给我马甲倒分了哦

#15


我是了一下,还是有困难的,所以一直没有给你会贴,如果树的级数超过2级,写XML的T-SQL就非常的难写。所以我给你的建议还是通过stored procedure来完成比较好。

#16


建立 模版.htp 内容:
    <root><%insert_data_here%></root>

再用:
  exec sp_makewebtask 'c:\模版实例.html','select * from csdn for xml auto',@templatefile='c:\模版.htp',@lastupdated=0,@resultstitle='  ',@charset='gb2312'

#17


其实产生xml并不是问题的重点..
重点是能否一次形成xml树.
如果不能,能否实现oracle中start with-connect by的图形化查询效果.
产生节点的前序列表及其深度

#18


to pengdali(大力 V3.0)
模板能实现不确定深度的xml树生成吗?

#19



----------------------------------------------------------------
原贴内容:
http://expert.csdn.net/Expert/topic/2256/2256386.xml?temp=.6487543
实现了可告诉我吗?
gen2@ah163.com

好的

#20


pengdali(大力 V3.0)
你说的模板是不是本质上是用xslt解决问题??如果是那就不必要了,xslt我已经解决

#1


一句不行.考虑前台处理或用存储过程.

#2


那么在查询分析器中出现for xml查询未能完整的返回xml文档数据
且出现:

(所影响的行数为 921 行)

[Microsoft][ODBC SQL Server Driver]收到来自 SQL Server 的未知令牌
的错误又是怎么回事?

#3


你的数据有什么?查询代码是怎么样写的?

#4


查询就是普通的for xml查询(使用了tag,parent进行了结点指定的语法)..
xml文档返回了很多字符串数据..但是被截断了.无法形成合式的xml文档

#5


xml被截断是因为你在Query Analyzer中配置的RESULTS的值太小,你可以在OPTIONS---RESULTS--MAXIMUM CHARACTERS PER COLUMN 增加到8000.

如果你要在CLIENT端返回XML文档,你要注意配置
SET TEXTSIZE 2147483647

#6


用一条for xml sql语句实现树形结构的xml文档生成(能否实现)?

是可以的!

#7


to leimin(黄山光明顶) 
我已经设置到8000了

另外你说可以做到,能给个例子

#8


学习

#9


学习

#10


学习

#11


up

#12


可以实现,不过在查询分析器中得到的xml串没有root节点。可以考虑前台处理。

#13


现在我不是要一个有root的xml文档.
而实际上是返回的xml树片段都不完整,我加上root也无法形成合式的xml文档..

另外,你们都说可以实现,却没有一个能拿出例子说明,或者提供思路,所以我对你们的话表示怀疑

#14


没人回答就别怪我给我马甲倒分了哦

#15


我是了一下,还是有困难的,所以一直没有给你会贴,如果树的级数超过2级,写XML的T-SQL就非常的难写。所以我给你的建议还是通过stored procedure来完成比较好。

#16


建立 模版.htp 内容:
    <root><%insert_data_here%></root>

再用:
  exec sp_makewebtask 'c:\模版实例.html','select * from csdn for xml auto',@templatefile='c:\模版.htp',@lastupdated=0,@resultstitle='  ',@charset='gb2312'

#17


其实产生xml并不是问题的重点..
重点是能否一次形成xml树.
如果不能,能否实现oracle中start with-connect by的图形化查询效果.
产生节点的前序列表及其深度

#18


to pengdali(大力 V3.0)
模板能实现不确定深度的xml树生成吗?

#19



----------------------------------------------------------------
原贴内容:
http://expert.csdn.net/Expert/topic/2256/2256386.xml?temp=.6487543
实现了可告诉我吗?
gen2@ah163.com

好的

#20


pengdali(大力 V3.0)
你说的模板是不是本质上是用xslt解决问题??如果是那就不必要了,xslt我已经解决