日期:2014-05-18  浏览次数:20713 次

高分解决一个简单sql server 2000的for xml语句问题(急)
我写了一个sql server2000的脚本,最后用的是一个for xml,elements 出来的结果如下:<sksj>20100201</sksj><nsrsbh>4564</nsrsbh><xh>1</xh>
这种标签紧密挨着的格式,现在我想变成以下这种:

<sksj>20100201</sksj>
<nsrsbh>4564</nsrsbh>
<xh>1</xh>
在文本格式中,每一个标签完了之后,就换行,应该怎么做?


------解决方案--------------------
SQL code
[Quote=引用:]
我写了一个sql server2000的脚本,最后用的是一个for xml,elements 出来的结果如下:<sksj>20100201</sksj><nsrsbh>4564</nsrsbh><xh>1</xh>
这种标签紧密挨着的格式,现在我想变成以下这种:

<sksj>20100201</sksj>
<nsrsbh>4564</nsrsbh>
<xh>1</xh>
在文本格式中……
[/Quote]
你这个应该到程序端去处理了
参考一下:
xmlElement = xmlDoc.CreateElement(item.NodeTag.Substring(item.NodeTag.LastIndexOf(",") + 1));                                                                                         

                if (item.Format.IndexOf("$ItemTag$=\"$ItemValue$\"") > -1)
                { 
                    xmlElement.SetAttribute(item.ItemTag.Trim(), item.Value.Trim());

                }
                else if (item.Format.IndexOf("key=\"$ItemTag$\" value=\"$ItemValue$\"") > -1)
                {
                    xmlElement.SetAttribute("key", item.ItemTag.Trim());
                    xmlElement.SetAttribute("value", item.Value.Trim()); 
                }
                else if (item.Format.IndexOf("name=\"$ItemTag$\" value=\"$ItemValue$\"") > -1)
                {
                    xmlElement.SetAttribute("name", item.ItemTag.Trim());
                    xmlElement.SetAttribute("value", item.Value.Trim()); 
                }

                node.AppendChild(xmlElement);