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. 【CSS3 + 原生JS】移动的标签

    左图为本博客右侧截取的GIF图,右图为代码效果 HTML: <!DOCTYPE html> <html lang="en"> <head> &l ...

  2. win10 uwp xaml 绑定接口

    本文告诉大家如何在 xaml 绑定属性使用显式继承接口 早上快乐 就在你的心问了我一个问题,他使用的属性是显式继承,但是无法在xaml绑定 我写了简单的代码,一个接口和属性 public class ...

  3. linux mysql 查看默认端口号和修改端口号

    如何查看mysql 默认端口号和修改端口号 2015-03-19 17:42:18 1. 登录mysql [root@test /]# mysql -u root -p Enter password: ...

  4. 21个项目玩转深度学习:基于TensorFlow的实践详解06—人脸检测和识别——项目集锦

    摘自:https://github.com/azuredsky/mtcnn-2 mtcnn - Multi-task CNN library language dependencies comment ...

  5. 【u107】数字游戏(bds)

    Time Limit: 1 second Memory Limit: 128 MB [问题描述] 有这么一个游戏: 写出一个1-N的排列a[i],然后每次将相邻两个数相加,构成新的序列,再对新序列进行 ...

  6. git 常用操作命令(Common operation)

    win10清除已登录账号密码方法 打开控制面板(Control Panel): 选择用户账户(User Accounts): 选择管理你的凭据(Credential Manager): 管理windo ...

  7. JS异步解决方案

    前言 异步最早的解决方案是回调函数,如ajax,事件的回调,setInterval/setTimeout中的回调.但是回调函数有回调地狱的问题; 为了解决回调地狱的问题,社区提出了Promise解决方 ...

  8. Tufurama CodeForces - 961E (cdq分治)

    题面 One day Polycarp decided to rewatch his absolute favourite episode of well-known TV series " ...

  9. vue-learning:13 - js - vue作用域概念:全局和局部

    目录 全局作用域:Vue对象 全局api 局部作用域: 实例对象vm 实例api 组件component 组件配置选项 在引入Vue文件时,就相当于拥有了一个全局Vue对象. 在var vm = ne ...

  10. c++ unordered_map 自定义key

    C++11新增了一类散列容器包括unordered_set, unordered_map, unordered_multiset, unordered_multimap, 即之前熟悉的hash_set ...