DataTable 或 DataSet 生成 XML  !!!

xumw 2006-10-31 05:21:32
XmlDocument xd = new XmlDocument();
xd.LoadXMl("<Body Code=\"\" Description=\"\"></Body>");
DataTable dt = 查询数据库数据记录且返回; //返回10条数据
----------------------------------------------------------------------
我想要的结果是 XML格式:
<Body Code="0001" Description="在线用户" ItemSum="10">
<Item Name="x" sex="1" age="" ...>
<Item Name="p" sex="0" age="24" ...>
... ...
</Body>



XmlElement root = xd.DocumentElement;
root.SetAttribute("Code","0001");
root.SetAttribute("Description","在线用户");

<Item/>项目是dt返回的行数据 怎么添加到XML<Body>节点下呢。谢谢!
...全文
225 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
一直学习 2006-10-31
  • 打赏
  • 举报
回复
以下步骤:
1.把datatable放到dataset中
2.dataset放到xml字符串中--用ds.WriteXml,存成流或者是textreader,或是xmlreader
3.用loadxml()读取,然后用循环行数,用xpath去取出所有item 的节点,并且每取一条就添加一条,用.AppendChild 添到xml以后放到string 中,

4.然后直接显示,lable.text=string;

就可以达到你以上的效果了


sh_city 2006-10-31
  • 打赏
  • 举报
回复
//记得导入using System.Xml;
XmlDocument xmldoc ;
XmlNode xmlnode ;
XmlElement xmlelem ;

xmldoc = new XmlDocument ( ) ;
//加入XML的声明段落
xmlnode = xmldoc.CreateNode ( XmlNodeType.XmlDeclaration , "" , "" ) ;
xmldoc.AppendChild ( xmlnode ) ;
//加入一个根元素
xmlelem = xmldoc.CreateElement ( "" , "Body" , "" ) ;
xmldoc.AppendChild ( xmlelem ) ;
//加入另外一个元素
for(int i=1;i<3;i++)//请用你的DataTable 数据来替换
{

XmlNode root=xmldoc.SelectSingleNode("Body");//查找<Body>
XmlElement xe1=xmldoc.CreateElement("Item");//创建一个<Item>节点
xe1.SetAttribute("Name","gg");
xe1.SetAttribute("Sex","f");
xe1.SetAttribute("Age","10");

root.AppendChild(xe1);//添加到<Body>节点中
}
//保存创建好的XML文档
xmldoc.Save ( Server.MapPath("data.xml") ) ;
发帖
C#

10.8w+

社区成员

.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
帖子事件
创建了帖子
2006-10-31 05:21
社区公告

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