C# Winform 里面读取 XML 的方法(转)

简介:

写 XML 文件的


//public static void SetXmlFileValue(string xmlPath, string AppKey, string AppValue)//写xmlPath是文件路径+文件名,AppKey是 Key Name,AppValue是Value
public static void SetXmlFileValue(string xmlPath, string AppKey, string AppValue)
{
XmlDocument xDoc = new XmlDocument();
xDoc.Load(xmlPath);
XmlNode xNode;
XmlElement xElem1;
XmlElement xElem2;

xNode = xDoc.SelectSingleNode("//appSettings";

xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']";
if (xElem1 != null)
{
xElem1.SetAttribute("value", AppValue);
}
else
{
xElem2 = xDoc.CreateElement("add";
xElem2.SetAttribute("key", AppKey);
xElem2.SetAttribute("value", AppValue);
xNode.AppendChild(xElem2);
}
xDoc.Save(xmlPath);
}
读取 XML 文件节点内容

//public static void GetXmlFileValue(string xmlPath, string AppKey, ref string AppValue)//读xmlPath是文件路径+文件名,AppKey是 Key Name,AppValue是Value
public static string GetXmlFileValue(string xmlPath, string AppKey)
{
string strValue = "";
XmlDocument xDoc = new XmlDocument();
xDoc.Load(xmlPath);
XmlNode xNode;
XmlElement xElem1;

xNode = xDoc.SelectSingleNode("//appSettings";

xElem1 = (XmlElement)xNode.SelectSingleNode("//add[@key='" + AppKey + "']";
if (xElem1 != null)
{
strValue = xElem1.GetAttribute("value";
}
else
{
// MessageBox.Show ("There is not any information!";
}
return strValue;
}

<?xml version="1.0" encoding="utf-8"?>
<System.Config>
<appSettings>
<add key="Server" value="D085D536F765EEB74123E527CEC0F564" />
<add key="DataBase" value="9323125653A3D08C2C1BF16192A2A2B8" />
<add key="User" value="7DDB8369CD879AE4" />
<add key="Password" value="B46F3E9E2A88B035" />
<!--Export to Excel,Chinese will become wrong code format at utf-8-->
<add key="ExportExcelEncoding" value="gb2312" />
</appSettings>
</System.Config>

代码里面的调用方法

读取:GetXmlFileValue(strXmlPath, "Server");

写入:SetXmlFileValue("setup.xml", "Server", "value");

private void 读取ToolStripMenuItem_Click(object sender, EventArgs e)
{
if (opFileDlg .ShowDialog() == DialogResult.OK)
{
if(opFileDlg .OpenFile()!=null)
{


twoXML .ReadXml (@opFileDlg .FileName );
foreach (DataRow twoRow in twoXML .Tables ["user"].Rows)
{
DataRow newRow = dsXML.Tables["user"].NewRow();
newRow ["序号"] = twoRow ["序号"];


newRow["标题"] = twoRow["标题"];
newRow["网址"] = twoRow["网址"];
newRow["用户名"] = twoRow["用户名"];
newRow["密码"] = twoRow["密码"];
newRow["时间"] = twoRow["时间"];
newRow["备注"] = twoRow["备注"];
dsXML .Tables ["user"].Rows .Add(newRow);
}
int n = dsXML .Tables ["user"].Rows .Count ;
for(int i=0;i<n;i++)
{
dsXML .Tables ["user"].Rows [i]["序号"]=i+1;
}
dsXML.WriteXml(@"user.xml");
this.Visible = true;
MessageBox.Show("数据导入成功!", "成功"); 中国网管联盟www、bitsCN、com
}
}
else
{
this.Visible = true;
}
}



本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/archive/2009/11/27/1611876.html,如需转载请自行联系原作者
相关文章
|
1月前
|
编译器 C#
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
C#多态概述:通过继承实现的不同对象调用相同的方法,表现出不同的行为
116 65
|
11天前
|
JSON 程序员 C#
使用 C# 比较两个对象是否相等的7个方法总结
比较对象是编程中的一项基本技能,在实际业务中经常碰到,比如在ERP系统中,企业的信息非常重要,每一次更新,都需要比较记录更新前后企业的信息,直接比较通常只能告诉我们它们是否指向同一个内存地址,那我们应该怎么办呢?分享 7 个方法给你!
|
13天前
|
C# UED SEO
C# 异步方法async / await任务超时处理
通过使用 `Task.WhenAny`和 `Task.Delay`方法,您可以在C#中有效地实现异步任务的超时处理机制。这种方法允许您在指定时间内等待任务完成,并在任务超时时采取适当的措施,如抛出异常或执行备用操作。希望本文提供的详细解释和代码示例能帮助您在实际项目中更好地处理异步任务超时问题,提升应用程序的可靠性和用户体验。
40 3
|
1月前
|
存储 C#
【C#】大批量判断文件是否存在的两种方法效率对比
【C#】大批量判断文件是否存在的两种方法效率对比
40 1
|
1月前
|
设计模式 程序员 C#
C# 使用 WinForm MDI 模式管理多个子窗体程序的详细步骤
WinForm MDI 模式就像是有超能力一般,让多个子窗体井然有序地排列在一个主窗体之下,既美观又实用。不过,也要小心管理好子窗体们的生命周期哦,否则一不小心就会出现一些意想不到的小bug
|
1月前
|
API C# Windows
【C#】在winform中如何实现嵌入第三方软件窗体
【C#】在winform中如何实现嵌入第三方软件窗体
78 0
|
1月前
|
C#
C#的方法的参数传递
C#的方法的参数传递
17 0
|
1月前
|
数据可视化 程序员 C#
C#中windows应用窗体程序的输入输出方法实例
C#中windows应用窗体程序的输入输出方法实例
46 0
|
1月前
|
XML 前端开发 Java
讲解SSM的xml文件
本文详细介绍了SSM框架中的xml配置文件,包括springMVC.xml和applicationContext.xml,涉及组件扫描、数据源配置、事务管理、MyBatis集成以及Spring MVC的视图解析器配置。
59 1
|
3月前
|
XML Java 数据格式
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)
这篇文章是Spring5框架的实战教程,主要介绍了如何在Spring的IOC容器中通过XML配置方式使用外部属性文件来管理Bean,特别是数据库连接池的配置。文章详细讲解了创建属性文件、引入属性文件到Spring配置、以及如何使用属性占位符来引用属性文件中的值。
Spring5入门到实战------7、IOC容器-Bean管理XML方式(外部属性文件)