| C#操作XML--插入问题 |
| [ 来源:ITWENKU 时间:2006-9-6 14:54:56 | 浏览:450人次
] |
| |
|
<?xml version="1.0" encoding="gb2312"?> <modules> <!--用户登录模块--> <module> <name>userlogin</name> <sql>select ADMIN,STATE from db2admin.JCUSER where UID=? and PWD = ?</sql> <type>select</type> <params> <param> <name>user</name> <field>UID</field> <type>Char</type> </param> <param> <name>password</name> <field>PWD</field> <type>Char</type> </param> </params> </module> </modules> 怎么样用C#插入这个登录模块?
最近在做抽取XML文件中内容的东西,最终生成个报表htm 你的问题我觉得有点跟我的像,说出来不对的表骂我啊:) 参考 /////////////////////// string ModulesFile = @"D:\...\...\ModulesFile.xml";//你的文件路径 XmlDocument dataTmpl = new XmlDocument(); if(File.Exists(ModulesFile)) dataTmpl.Load(ModulesFile); 然后用Xpath在<Params>里一个节点一个节点地找出来放到对应的位置 觉得每个<param>节点需要编号
using System.Xml;//添加引用 XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load("位置"); XmlNode root=xmlDoc.SelectSingleNode("modules"); //查找<modules> XmlElement xe1=xmlDoc.CreateElement("module");//创建一个<module>节点 XmlElement xesub1=xmlDoc.CreateElement("name"); xesub1.InnerText="userlogin";//设置文本节点 xe1.AppendChild(xesub1);//添加到<module>节点中 XmlElement xesub2=xmlDoc.CreateElement("sql"); xesub2.InnerText="select ADMIN,STATE from db2admin.JCUSER where UID=? and PWD = ?";//设置文本节点 xe1.AppendChild(xesub2);//添加到<module>节点中 XmlElement xesub3=xmlDoc.CreateElement("type"); xesub3.InnerText="select";//设置文本节点 xe1.AppendChild(xesub3);//添加到<module>节点中 XmlElement xe2=xmlDoc.CreateElement("params");//创建一个<module>的子节点<params> xe1.AppendChild(xe2);//节点<params>添加到父节点<module>中 XmlElement xe3=xmlDoc.CreateElement("param");//创建一个<params>的子节点<param> xe2.AppendChild(xe3);//节点<param>添加到父节点<params>中 XmlElement xesub21=xmlDoc.CreateElement("name"); xesub21.InnerText="user"; xe3.AppendChild(xesub21); XmlElement xesub22=xmlDoc.CreateElement("field"); xesub22.InnerText="UID"; xe3.AppendChild(xesub22); XmlElement xesub23=xmlDoc.CreateElement("type"); xesub23.InnerText="Char"; xe3.AppendChild(xesub23); XmlElement xe4=xmlDoc.CreateElement("param");//创建一个<params>的子节点<param> xe2.AppendChild(xe4);节点<param>添加到父节点<params>中 XmlElement xesub31=xmlDoc.CreateElement("name"); xesub31.InnerText="password"; xe4.AppendChild(xesub31); XmlElement xesub32=xmlDoc.CreateElement("field"); xesub32.InnerText="PWD"; xe4.AppendChild(xesub32); XmlElement xesub33=xmlDoc.CreateElement("type"); xesub33.InnerText="Char"; xe4.AppendChild(xesub33); root.AppendChild(xe1);//添加到<bookstore>节点中 xmlDoc.Save("位置")//保存创建好的XML文档 注意:位置在ASP.NET中可以用Server.MapPath("名称.xml"),在WinFrom中找不到引用,所以只好用绝对路径了,如:C:\Text.xml,就只能写C:\\Text.xml要加多一个"\",原因我就不多说了。 希望大家能有更好的办法!
同意楼上思路……
|
|
 |
推荐文章 |
|