帮忙看一下一个从SQL数据库中读取数据生成XML文件的问题

饶荣 2006-01-10 11:44:37
//获取子节点
public void getXmlNode(int pid, ref XmlNode xmlnode, ref XmlDocument xmldoc)
{
int index = 1;
string connStr = ConfigurationSettings.AppSettings["connStr"];
SqlConnection conn = new SqlConnection(connStr);
string sql = "select * from gClsList where pid=" + pid + " order by orderid";
SqlCommand comm = new SqlCommand(sql, conn);
conn.Open();
SqlDataReader rs = comm.ExecuteReader();
while(rs.Read())
{
//加入另外一个元素
XmlElement xmlelem = xmldoc.CreateElement("","node","");
XmlText xmltext = xmldoc.CreateTextNode(rs["clsName"].ToString()) ;
xmlelem.AppendChild(xmltext);
xmlnode.AppendChild(xmlelem);
XmlNode tempNode = xmlnode.ChildNodes.Item(index);
getXmlNode(Convert.ToInt32(rs["id"].ToString()), ref tempNode, ref xmldoc);
index++;
}
conn.Close();
conn.Dispose();
}

//获取根结点并返回XML文件流
public XmlDocument saveXmlDoc(int pid)
{
//声明创建XML文档
XmlDocument xmldoc = new XmlDocument();
XmlNode xmlnode ;
XmlElement xmlelem ;
XmlText xmltext ;
//加入XML的声明段落
xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration,"","");
xmldoc.AppendChild(xmlnode);
//加入一个主根元素
xmlelem = xmldoc.CreateElement("","root","");
xmltext = xmldoc.CreateTextNode("金海洋国际企业机构");
xmlelem.AppendChild(xmltext);
xmldoc.AppendChild(xmlelem);

string connStr = ConfigurationSettings.AppSettings["connStr"];
SqlConnection conn = new SqlConnection(connStr);
string sql = "select * from gClsList where pid=" + pid + " order by orderid";
SqlCommand comm = new SqlCommand(sql, conn);
conn.Open();
SqlDataReader rs = comm.ExecuteReader();
int index = 1;
while(rs.Read())
{
//加入一个根元素
XmlElement xmlelem2 = xmldoc.CreateElement("","class","");
XmlText xmltext2 = xmldoc.CreateTextNode(rs["clsName"].ToString()) ;
xmlelem2.AppendChild(xmltext2);
XmlNode tempNode = xmldoc.ChildNodes.Item(index);
tempNode.AppendChild(xmlelem2);
getXmlNode(Convert.ToInt32(rs["id"].ToString()), ref tempNode, ref xmldoc);
index++;
}
conn.Close();
conn.Dispose();
//保存创建好的XML文档
return xmldoc;
}
...全文
265 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
饶荣 2006-01-10
  • 打赏
  • 举报
回复
这样读出来的XML文件没有上下级关系的嘛,怎么处理呢?
lostowner 2006-01-10
  • 打赏
  • 举报
回复
把从sql server 读出的数据放到 dataset 中
DataSet dataset = new DataSet ();
dataset.WriteXml (path);
path为你放XML文件的路径
饶荣 2006-01-10
  • 打赏
  • 举报
回复
能详细点吗?在线等!!!谢谢谢谢
jiezhi 2006-01-10
  • 打赏
  • 举报
回复
你可以使用sql server的xml功能:
select * from xxx for xml

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧