从XML来看,第二个结果是自给自足的XML元素,而第一个结果只能
cfdi是定义前缀名称空间的其他元素的一部分。因此,我想所有的工作都如您所定义。
子选择
(SELECt importe, TasaCuota, TipoFactor, Impuesto, baseFROM CDFIDetFOR XML RAW('cfdi:traslado'), TYPE, ROOT('cfdi:traslados'))
产生自给自足的结果
<cfdi:traslados xmlns:cfdi="uri"> <cfdi:traslado importe="1920" TasaCuota="0" TipoFactor="Tasa" Impuesto="16" base="240" /> <cfdi:traslado importe="2202" TasaCuota="0" TipoFactor="TASA" Impuesto="16" base="450" /></cfdi:traslados>
因为您定义了
ROOT('cfdi:traslados')-您具有名称空间,并且嵌套元素
cfdi:traslado位于同一个名称空间中-
没有单独的名称空间声明。
然后顶部选择:
SELECt '' AS importe, (SELECT importe, TasaCuota, TipoFactor, Impuesto, base FROM CDFIDetFOR XML RAW('cfdi:traslado'), TYPE, ROOT('cfdi:traslados')) FROM CFDIENC FOR XML RAW('cfdi:gatito'), TYPE)
为其定义根元素,
cfdi:traslados因为
cfdi:gatito它具有自己的
cfdi前缀名称空间声明。
我对sql-server XML不熟悉,但是如果您
ROOT('cfdi:traslados')从子选择中删除会发生什么
呢?它会
xmlns:cfdi="uri"从
<cfdi:traslados xmlns:cfdi="uri">元素中删除吗?
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)