XML向节点插入数据 我想把数据库数据插入到XML里面插入数据,第一次做这种程序程序,但是我对XML的格式也不算太了解,希望大家帮下我举个例子 好比数据库里面有3个属性 CID CNAME CDATE 我要把他们都插入到XML中 应该怎么实现 需要代码 最好加QQ 276234763 3Q 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不用加QQ了,看完这个你就懂了,很简单的.http://www.cnblogs.com/jamsewang/archive/2009/08/11/1543668.html 我需要是 先建立一个XML 在网这个XML里面添加数据 private void SaveXml(string path,string filename,DateTable tb) { if (!Directory.Exists(path)) //判断路径是否存在 { Directory.CreateDirectory(path); //不存在 创建路径 } XmlDocument xml = new XmlDocument(); XmlDeclaration declaration = xml.CreateXmlDeclaration("1.0", "utf-8", null); xml.AppendChild(declaration); XmlNode rootnode = xml.CreateNode(XmlNodeType.Element, "RootNode", ""); xml.AppendChild(rootnode); for(int i = 0;i<tb.Rows.Count;i++) { XmlNode nodetb = xml.CreateNode(XmlNodeType.Element, "TableName", ""); XmlAttribute att1 = xml.CreateAttribute("CID"); att1.InnerText = tb.Rows[i]["CID"].ToString(); XmlAttribute att2 = xml.CreateAttribute("CNAME"); att2.InnerText = tb.Rows[i]["CID"].ToString(); XmlAttribute att3 = xml.CreateAttribute("CDATE"); att3.InnerText = tb.Rows[i]["CID"].ToString(); TableName.Attributes.Append(att1); TableName.Attributes.Append(att2); TableName.Attributes.Append(att3); rootnode.AppendChild(TableName); } xml.Save(path + "\\" + filename); }//没测试过不知道对不对结构是这个样子:<?xml version="1.0"?><RootNode><TableName CID = "123" CNAME = "111" CDATE = "2009-08-27"/><TableName CID = "124" CNAME = "222" CDATE = "2009-08-27"/><TableName CID = "125" CNAME = "333" CDATE = "2009-08-27"/><TableName CID = "126" CNAME = "444" CDATE = "2009-08-27"/></RootNode> up,楼上好多答案啊。。:-)[align=center]**************************************************************** 看帖一定要会的,分也一定要接的哦^_^****************************************************************[/align] 网上搜索下类似的代码一搜一堆的, "C# 操作XML" 为关键词 把数据库里的数据读到 DataTable里面,然后 加栽XML文档,用XmlDocument 不过我推荐你使用更先进易用的XDocument 然后 进行你需要的赋值即可. 怎么没人解答啊?[align=center]**************************************************************** 看帖一定要会的,分也一定要接的哦^_^****************************************************************[/align] 除非是按照文本文件进行追加数据,一般常规方法都是直接整个XML文件改写,比如XmlDocument就是那样的。既然如此,楼上几位给的方法还不如使用DataTable自带的WriteXml更方便呢。数据库里的数据填充到DataTable,然后可能有些修改,最后使用WriteXml方法写入文件,例如:dt1.WriteXml(filePath1, XmlWriteMode.WriteSchema);加载XML文件就是用ReadXml方法,例如:dt1.ReadXml(filePath1); C# 在局域网里根据IP获取对应计算机名字 发送短信中怎么加入进度条,求大神 三个问题,应该是跟数组,类型转换,SqlParameter有关 C#调用outlook发邮件 窗体之间的调用怎么写?急。。。。。 求教服务端定时给所有客户端发信出现冲突的解决办法 自定义控件资源释放问题! 数据库连接成功,却无法打开 多个checkbox,点击其中一个获取其他几个的状态 請教大蝦們﹐誰有c#的幫助文件﹖﹖﹖ Winform三层构架有哪些可用的中间件,怎么部署 如何为webbrowser中的每个iframe注册DocumentCompleted事件?
{
if (!Directory.Exists(path)) //判断路径是否存在
{
Directory.CreateDirectory(path); //不存在 创建路径
}
XmlDocument xml = new XmlDocument();
XmlDeclaration declaration = xml.CreateXmlDeclaration("1.0", "utf-8", null);
xml.AppendChild(declaration);
XmlNode rootnode = xml.CreateNode(XmlNodeType.Element, "RootNode", "");
xml.AppendChild(rootnode);
for(int i = 0;i<tb.Rows.Count;i++)
{
XmlNode nodetb = xml.CreateNode(XmlNodeType.Element, "TableName", "");
XmlAttribute att1 = xml.CreateAttribute("CID");
att1.InnerText = tb.Rows[i]["CID"].ToString();
XmlAttribute att2 = xml.CreateAttribute("CNAME");
att2.InnerText = tb.Rows[i]["CID"].ToString();
XmlAttribute att3 = xml.CreateAttribute("CDATE");
att3.InnerText = tb.Rows[i]["CID"].ToString();
TableName.Attributes.Append(att1);
TableName.Attributes.Append(att2);
TableName.Attributes.Append(att3);
rootnode.AppendChild(TableName);
} xml.Save(path + "\\" + filename);
}
//没测试过不知道对不对结构是这个样子:
<?xml version="1.0"?>
<RootNode>
<TableName CID = "123" CNAME = "111" CDATE = "2009-08-27"/>
<TableName CID = "124" CNAME = "222" CDATE = "2009-08-27"/>
<TableName CID = "125" CNAME = "333" CDATE = "2009-08-27"/>
<TableName CID = "126" CNAME = "444" CDATE = "2009-08-27"/>
</RootNode>
看帖一定要会的,分也一定要接的哦^_^
****************************************************************[/align]
看帖一定要会的,分也一定要接的哦^_^
****************************************************************[/align]
数据库里的数据填充到DataTable,然后可能有些修改,最后使用WriteXml方法写入文件,例如:
dt1.WriteXml(filePath1, XmlWriteMode.WriteSchema);加载XML文件就是用ReadXml方法,例如:
dt1.ReadXml(filePath1);