using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;

namespace ZhuoHuiSchoolRoom.ZhuoHuiClass
{
class Global
{
/// <summary>
/// 获取xml文件中的值
/// </summary>
/// <param name="xmlValues">键</param>
/// <returns></returns>
public static string getValues(string name)
{
XmlDocument xml = new XmlDocument();
//读取xml文件
xml.Load(System.Environment.CurrentDirectory + "\\config.xml");
foreach (XmlNode node in xml.ChildNodes)
{
if (node.Name == "SettingsFile")
{
foreach (XmlNode node1 in node.ChildNodes)
{
if (node1.Name == name)
{
foreach (XmlNode node2 in node1.ChildNodes)
{
if (node2.Name == "Value")
{
return node2.InnerText;
}
}
}
}
}
}
return "";
}

/// <summary>
/// 数据写入config.xml
/// </summary>
/// <param name="name">键</param>
/// <param name="values">值</param>
public static void setValues(string name, string values)
{
XmlDocument xml = new XmlDocument();
xml.Load(System.Environment.CurrentDirectory + "\\config.xml"); //获取xml文件路径
XmlNode XN = xml.SelectSingleNode("SettingsFile");
XN = XN.SelectSingleNode(name);
XN.SelectSingleNode("Value").InnerText = values;
xml.Save(System.Environment.CurrentDirectory + "\\config.xml");
}

public static string getIPValues()
{
XmlDocument doc = new XmlDocument();
doc.Load(System.Environment.CurrentDirectory + "\\ZhuoHuiSchoolroom.exe.config");
string IP = ((System.Xml.XmlNode)(doc)).InnerText;
return IP;
//XmlDocument xml = new XmlDocument();
////读取xml文件
//xml.Load(System.Environment.CurrentDirectory + "\\ZhuoHuiSchoolroom.exe.config");
//foreach (XmlNode node in xml.ChildNodes)
//{
// if (node.Name == "configuration")
// {
// foreach (XmlNode node1 in node.ChildNodes)
// {
// if (node1.Name == "applicationSettings")
// {
// foreach (XmlNode node2 in node1.ChildNodes)
// {
// if (node2.Name == "ZhuoHuiSchoolroom.Properties.Settings")
// {
// foreach (XmlNode node3 in node2.ChildNodes)
// {
// if (node3.Name == "setting")
// {
// foreach (XmlNode node4 in node3.ChildNodes)
// {
// if (node4.Name == "value")
// {
// return node3.InnerText;
// }
// }
// }
// }
// }

// }
// }
// }
// }
//}

}
}
}

config.xml文件内容示例

<?xml version="1.0" encoding="utf-8"?>
<SettingsFile>
<Width>
<Value>1024</Value>
</Width>
<Height>
<Value>768</Value>
</Height>
</SettingsFile>

写入

Global.setValues("Width", this.Width.ToString());
Global.setValues("Height", this.Height.ToString());

读取

string width = Global.getValues("Width");
string height = Global.getValues("Height");

config.xml写入和读取的更多相关文章

  1. ASP.NET写入和读取xml文件

    xml是一种可扩展标记语言,在电子计算机中,标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种的信息比如文章等.它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进 ...

  2. 在C#程序中,创建、写入、读取XML文件的方法

    一.在C#程序中,创建.写入.读取XML文件的方法 1.创建和读取XML文件的方法,Values为需要写入的值 private void WriteXML(string Values) { //保存的 ...

  3. XML数据的读取—数据库配置文件

    数据库配置文件(config.xml) <?xml version="1.0" encoding="utf-8"?> <configurati ...

  4. [xml解析]rapidxml读取文件

    因为项目需要读取xml配置文件,在原来调查一番后,项目组使用了tinyxml. tinyxml确实简单,非常清楚的就把读取方案写出来了.但是,由于后期xml文件越来越大(2.5M,大概1w多行数据), ...

  5. php 如何写入、读取word,excel文档

    如何在php写入.读取word文档 <? //如何在php写入.读取word文档 // 建立一个指向新COM组件的索引 $word = new COM("word.applicatio ...

  6. 在Linux下如何用Shell脚本读写XML?现有一个config.xml(转)

    在Linux下如何用Shell脚本读写XML?现有一个config.xml <?xml version="1.0" encoding="UTF-8"?&g ...

  7. spring 框架的xml文件如何读取properties文件数据

    spring 框架的xml文件如何读取properties文件数据 第一步:在spring配置文件中 注意:value可以多配置几个properties文件 <bean id="pro ...

  8. WinForm中DataGridView对XML文件的读取

    转自http://www.cnblogs.com/a1656344531/archive/2012/11/28/2792863.html c#读取XML   XML文件是一种常用的文件格式,例如Win ...

  9. 如何写入和读取从 Microsoft 消息队列在 Visual C#

    注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成.微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章.然而由机器翻译的文章并不总是完美的.它 ...

随机推荐

  1. js实现方块的碰撞检测

    文章地址:https://www.cnblogs.com/sandraryan/ 个人感觉.方块的碰撞检测比圆形麻烦~~ <!DOCTYPE html> <html lang=&qu ...

  2. 【a503】圆排列问题

    Time Limit: 1 second Memory Limit: 32 MB [问题描述] 给定n个大小不等的圆c1,c2,...., cn,现要将这n个圆排列进一个矩形框中,且要求各圆与矩形框的 ...

  3. 如何检查linux是否安装了php

    方法一.在终端通过php -v命令来查看一下当前php的版本.如果没有安装php,一般会提示没有php这个命令的. 2 方法二.在终端查询安装的包中是否有php,以redhat为例,则可以执行如下命令 ...

  4. H3C ACL包过滤配置任务

  5. java什么是方法的重载(Overload)

    概念:        在同一个类中,允许存在一个以上的同名方法,只要它们的参数个数或者参数类型或参数顺序不同即可. 存在的原因: 屏蔽了一个对象的同一类方法由于参数不同所造成的差异. 特点: 与返回值 ...

  6. C# 通过编程的方法在桌面创建回收站快捷方式

    基本所有的桌面都会存在回收站快捷方式,如果想要多创建几个快捷方式,点开就是回收站,请看本文的方法 在引用 Windows Script Host Object Model 这个 COM 方法之后可以使 ...

  7. Nutch2.3 编译和安装配置

    Nutch2.3 编译和安装配置 [一].介绍 Nutch 是一个开源Java 实现的搜索引擎.它提供了我们运行自己的搜索引擎所需的全部工具.包括全文搜索和Web爬虫.现在Nutch分为两个版本:1. ...

  8. oracle中update语句修改多个字段

    如需要修改下列数据:表名为student 一般会这样写: update student set sname = '李四', sage = 20, sbirthday = to_date('2010-0 ...

  9. 百度人脸识别集成错误:Build command failed. Error while executing process F:\dev\Android\Sdk\cmake\3.6.4111459\bin\cmake.exe with arguments

    大概是这么个错误 Build command failed. Error while executing process F:\dev\Android\Sdk\cmake\3.6.4111459\bi ...

  10. 防火墙TCP的单向控制

    网络拓扑: 如上图所示,防火墙分为external/internal/dmz三个安全zone,其中10.133.1.100/32为dmz区的一台squid缓存服务器,10.158.1.10/32,10 ...