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

小弟求段生成xml的代码
C# code

            OleDbDataReader dr = MyComm.ExecuteReader();
            while (dr.Read())
            {
                Response.Write(dr[0].ToString());//id
                Response.Write(dr[1].ToString());//time
                Response.Write(dr[2].ToString());//name
                Response.Write(dr[3].ToString());//info
            }



小弟想循环生成这样一个xml
<root>
  <id="" time="" name="" info=""/>
  <id="" time="" name="" info=""/>
  <id="" time="" name="" info=""/>
.....
</root>
不是文件
求代码

------解决方案--------------------
建议你使用更好的解决方案;
1.使用SQL的 FOR XML 语句来直接返回xml数据。
2.使用SqlCommand.ExecuteXmlReader 方法来处理Xml。
参考:
使用Microsoft SQL Server 2000的XML查询
http://blog.csdn.net/zhzuo/archive/2005/06/28/406290.aspx
使用SQL Server 2005 FOR XML嵌套查询
http://blog.csdn.net/zhzuo/archive/2008/06/08/2525447.aspx

如果楼主还有什么疑问,可以参考我在这里的详细回答:
http://topic.csdn.net/u/20080724/17/afa1ecaa-3f6b-49bc-a671-859493bc4f7b.html?seed=920056130
------解决方案--------------------
StringBuilder sb = new StringBuilder();
sb.Append("<root>");
OleDbDataReader dr = MyComm.ExecuteReader();
while (dr.Read())
{
sb.AppendFormat("<id=\"{0}\" time=\"{1}\" name=\"{2}\" info=\"{3}\"/>",dr[0],dr[1],dr[2],dr[3]);
}
sb.Append("</root>");