即使没有记录,也在SQL中生成空的xml根节点
从sql生成空\null xml根节点时出现问题。这是我正在研究的结构的示例:即使没有记录,也在SQL中生成空的xml根节点,sql,xml,sql-server-2008,Sql,Xml,Sql Server 2008,从sql生成空\null xml根节点时出现问题。这是我正在研究的结构的示例: <Departments> <Department> <Employees> <Employee> <Name></Name> <ID></ID> </Employee> </Emp
<Departments>
<Department>
<Employees>
<Employee>
<Name></Name>
<ID></ID>
</Employee>
</Employees>
</Department>
</Departments>
如果有记录,xml结构就正常了,但我的问题是,如果没有部门记录,就根本没有节点。如何在xml中至少显示空节点
如果没有部门记录,xml将为:
<Departments>
<ReportDate>2016-08-11T16:31:22.960</ReportDate>
</Departments>
我喜欢的是:
<Departments>
<ReportDate>2016-08-11T16:31:22.960</ReportDate>
<Department />
</Departments>
我想知道你的问题。你可以试试下面的概念
SELECT ISNULL(s.lmx, '<Users></Users>')
FROM
(
select 1 as tag, null as parent,
FirstName as [User!1!FirstName!Element],
LastName as [User!1!LastName!Element]
FROM Users
FOR XML EXPLICIT
) AS s(lmx)
我也面临着同样的问题,我从你的问题中得到了暗示。你可以试试下面的概念
SELECT ISNULL(s.lmx, '<Users></Users>')
FROM
(
select 1 as tag, null as parent,
FirstName as [User!1!FirstName!Element],
LastName as [User!1!LastName!Element]
FROM Users
FOR XML EXPLICIT
) AS s(lmx)
我也遇到了同样的问题,我从中得到了提示:使用一个具有1行的派生表,并对@Departments的查询执行外部应用 选择getdate作为ReportDate, 选择D.名称, isnullD.Employees,作为雇员 从中选择null作为TN 外敷 选择D.名称, 选择E.名称, 电子身份证 来自@Employee E 其中E.DID=D.DID 对于xml路径“Employee”,元素xsini,键入 作为雇员 来自@Department as D as D 对于xml路径“Departments”,键入 对于xml路径“Departments”,键入
使用一个具有1行的派生表,并对@Departments执行外部应用查询 选择getdate作为ReportDate, 选择D.名称, isnullD.Employees,作为雇员 从中选择null作为TN 外敷 选择D.名称, 选择E.名称, 电子身份证 来自@Employee E 其中E.DID=D.DID 对于xml路径“Employee”,元素xsini,键入 作为雇员 来自@Department as D as D 对于xml路径“Departments”,键入 对于xml路径“Departments”,键入
所以实际上有记录,但名称和ID都是空的,而实际版本正在使用它?如果有员工记录,就可以了,因为整个结构都是xml格式的。问题是当没有员工记录,甚至没有显示xml时。因此,实际上有记录,但名称和ID为空,并且实际版本正在使用它?如果有员工记录,就可以了,因为整个结构都是xml格式的。问题是当没有员工记录,甚至没有显示xml时,我也遇到了这个问题。只是想知道是否有一种更优雅的方式来做这件事。我也遇到过这个。只是想知道是否有一个更优雅的方式来做到这一点。