using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Windows.Forms;namespace MyCommanHelper
{public class XMLHelper{#region 读取节点值/// <summary>/// 读取节点值/// </summary>/// <param name="doc"></param>/// <param name="Section"></param>/// <param name="Key"></param>/// <returns></returns>public static string XmlReadValue(XmlDocument doc, string Section, string Key){XmlNode result = doc.SelectSingleNode(Section);string ss = "";if (null != result){ss = result.SelectSingleNode(Key).InnerText;}return ss;}/// <summary>/// 获取二层小结下的键值/// </summary>/// <param name="doc"></param>/// <param name="Section"></param>/// <param name="subSection"></param>/// <param name="Key"></param>/// <returns></returns>public static string XmlReadValue(XmlDocument doc, string Section, string subSection, string Key){try{XmlNode result = doc.SelectSingleNode(Section);if (null != result){XmlNodeList childnodes = result.ChildNodes;for (int i = 0; i < childnodes.Count; i++){XmlNode node = childnodes[i];if (node.LocalName.Equals(subSection)){return node.SelectSingleNode(Key).InnerText;}}}return "";}catch{return "";}}/// <summary>/// 获取三层小结下的键值/// </summary>/// <param name="doc"></param>/// <param name="Section"></param>/// <param name="subSection"></param>/// <param name="sub2Section"></param>/// <param name="Key"></param>/// <returns></returns>public static string XmlReadValue(XmlDocument doc, string Section, string subSection, string sub2Section, string Key){try{XmlNode result = doc.SelectSingleNode(Section);if (null != result){XmlNodeList parentNodes = result.ChildNodes;for (int i = 0; i < parentNodes.Count; i++){XmlNode node = parentNodes[i];if (node.LocalName.Equals(subSection)){XmlNodeList childNodes = node.ChildNodes;for (int j = 0; j < childNodes.Count; j++){XmlNode subNode = childNodes[j];if (subNode.LocalName.Equals(sub2Section)){return subNode.SelectSingleNode(Key).InnerText;}}}}}return "";}catch (Exception){return "";}}/// <summary>/// 获取四层小结下的键值/// </summary>/// <param name="doc"></param>/// <param name="Section"></param>/// <param name="subSection"></param>/// <param name="sub2Section"></param>/// <param name="sub3Section"></param>/// <param name="Key"></param>/// <returns></returns>public static string XmlReadValue(XmlDocument doc, string Section, string subSection, string sub2Section, string sub3Section, string Key){try{XmlNode result = doc.SelectSingleNode(Section);if (null != result){XmlNodeList childnodes = result.ChildNodes;for (int i = 0; i < childnodes.Count; i++){XmlNode node = childnodes[i];if (node.LocalName.Equals(subSection)){XmlNodeList subNodeList = node.ChildNodes;for (int j = 0; j < subNodeList.Count; j++){XmlNode subNode = subNodeList[j];if (subNode.LocalName.Equals(sub2Section)){XmlNodeList sub2NodeList = subNode.ChildNodes;for (int k = 0; k < sub2NodeList.Count; k++){XmlNode sub2Node = sub2NodeList[k];if (sub2Node.LocalName.Equals(sub3Section)){return sub2Node.SelectSingleNode(Key).InnerText;}}}}}}}return "";}catch{return "";}}#endregion#region 写入节点值/// <summary>/// 写入节点值/// </summary>/// <param name="doc"></param>/// <param name="sXMLPath"></param>/// <param name="Section"></param>/// <param name="Key"></param>/// <param name="Value"></param>public static void XmlWriteValue(XmlDocument doc, string sXMLPath, string Section, string Key, string Value){try{XmlNode result = doc.SelectSingleNode(Section);if (null == result){result = (XmlNode)doc.CreateElement(Section);doc.AppendChild(result);XmlNode subNode = doc.CreateElement(Key);subNode.InnerText = Value;result.AppendChild(subNode);}else{XmlNode subNode = result.SelectSingleNode(Key);if (null == subNode){subNode = doc.CreateElement(Key);subNode.InnerText = Value;result.AppendChild(subNode);}else{subNode.InnerText = Value;}}doc.Save(sXMLPath);}catch (System.Exception ex){MessageBox.Show("写入节点值错误! " + ex.Message);}}public static void XmlWriteValue(XmlDocument doc, string sXMLPath, string Section, string subSection, string Key, string Value){try{XmlNode result = doc.SelectSingleNode(Section);if (null == result){result = (XmlNode)doc.CreateElement(Section);doc.AppendChild(result);XmlElement subEle = doc.CreateElement(subSection);result.AppendChild(subEle);XmlElement sub2Ele = doc.CreateElement(Key);sub2Ele.InnerText = Value;subEle.AppendChild(sub2Ele);}else{XmlNode subEle = result.SelectSingleNode(subSection);if (null == subEle){subEle = doc.CreateElement(subSection);result.AppendChild(subEle);XmlElement sub2Ele = doc.CreateElement(Key);sub2Ele.InnerText = Value;subEle.AppendChild(sub2Ele);} else{XmlNode sub2Ele = subEle.SelectSingleNode(Key);if (null == sub2Ele){sub2Ele = doc.CreateElement(Key);sub2Ele.InnerText = Value;subEle.AppendChild(sub2Ele);} else{sub2Ele.InnerText = Value;}}}}catch (System.Exception ex){MessageBox.Show("写入节点值错误! " + ex.Message);}}public static void XmlWriteValue(XmlDocument doc, string sXMLPath, string Section, string subSection, string sub2Section, string Key, string Value){try{XmlNode result = doc.SelectSingleNode(Section);if (null == result){result = (XmlNode)doc.CreateElement(Section);doc.AppendChild(result);}XmlNode subEle = result.SelectSingleNode(subSection);if (null == subEle){subEle = doc.CreateElement(subSection);result.AppendChild(subEle);}XmlNode sub2Ele = result.SelectSingleNode(sub2Section);if (null == sub2Ele){sub2Ele = doc.CreateElement(sub2Section);subEle.AppendChild(sub2Ele);}XmlNode sub3Ele = subEle.SelectSingleNode(Key);if (null == sub3Ele){sub3Ele = doc.CreateElement(Key);sub3Ele.InnerText = Value;sub2Ele.AppendChild(sub2Ele);}else{sub3Ele.InnerText = Value;}doc.Save(sXMLPath);}catch (System.Exception ex){MessageBox.Show("写入节点值错误! " + ex.Message);}}public static void XmlWriteValue(XmlDocument doc, string sXMLPath,string Section, string subSection, string sub2Section,string sub3Section, string Key, string Value){try{XmlNode result = doc.SelectSingleNode(Section);if (null == result){result = (XmlNode)doc.CreateElement(Section);doc.AppendChild(result);}XmlNode subEle = result.SelectSingleNode(subSection);if (null == subEle){subEle = doc.CreateElement(subSection);result.AppendChild(subEle);}XmlNode sub2Ele = result.SelectSingleNode(sub2Section);if (null == sub2Ele){sub2Ele = doc.CreateElement(sub2Section);subEle.AppendChild(sub2Ele);}XmlNode sub3Ele = result.SelectSingleNode(sub3Section);if (null == sub2Ele){sub3Ele = doc.CreateElement(sub3Section);sub2Ele.AppendChild(sub3Ele);}XmlNode sub4Ele = subEle.SelectSingleNode(Key);if (null == sub3Ele){sub4Ele = doc.CreateElement(Key);sub4Ele.InnerText = Value;sub3Ele.AppendChild(sub2Ele);}else{sub4Ele.InnerText = Value;}doc.Save(sXMLPath);}catch (System.Exception ex){MessageBox.Show("写入节点值错误! " + ex.Message);}}#endregion#region 修改节点值/// <summary>/// 修改节点值/// </summary>/// <param name="doc"></param>/// <param name="sXMLPath"></param>/// <param name="Section"></param>/// <param name="Key"></param>/// <param name="Value"></param>public static void XmlEditValue(XmlDocument doc, string sXMLPath, string Section, string Key, string Value){XmlNode result = doc.SelectSingleNode(Section);if (null != result){if (Value == ""){result.SelectSingleNode(Key).InnerText = "无";}else{result.SelectSingleNode(Key).InnerText = Value;}}doc.Save(sXMLPath);}public static void XmlEditValue(XmlDocument doc, string sXMLPath, string Section, string sValue1, string Key, string Value){XmlNode result = doc.SelectSingleNode(Section);if (null != result){XmlNodeList childnodes = result.ChildNodes;for (int i = 0; i < childnodes.Count; i++){XmlNode node = childnodes[i];if (node.LocalName.Equals(sValue1)){if (Value == ""){node.SelectSingleNode(Key).InnerText = "无";}else{node.SelectSingleNode(Key).InnerText = Value;}}}}doc.Save(sXMLPath);}public static void XmlEditValue(XmlDocument doc, string sXMLPath,string Section, string sValue1,string sValue2, string Key, string Value){XmlNode result = doc.SelectSingleNode(Section);if (null != result){XmlNodeList parentNodes = result.ChildNodes;for (int ii = 0; ii < parentNodes.Count; ii++){XmlNode node = parentNodes[ii];if (node.LocalName.Equals(sValue1)){XmlNodeList childNodes = node.ChildNodes;for (int i = 0; i < childNodes.Count; i++){XmlNode node2 = childNodes[i];if (node2.LocalName.Equals(sValue2)){if (Value == ""){node2.SelectSingleNode(Key).InnerText = "无";}else{node2.SelectSingleNode(Key).InnerText = Value;}}}}}}doc.Save(sXMLPath);}public static void XmlEditValue(XmlDocument doc, string sXMLPath,string Section, string sValue1, string sValue2,string sValue3, string Key, string Value){XmlNode node = doc.SelectSingleNode(Section);if (null != node){XmlNodeList childNodes = node.ChildNodes;for (int i = 0; i < childNodes.Count; i++){XmlNode node2 = childNodes[i];if (node2.LocalName.Equals(sValue1)){XmlNodeList list2 = node2.ChildNodes;for (int j = 0; j < list2.Count; j++){XmlNode node3 = list2[j];if (node3.LocalName.Equals(sValue2)){XmlNodeList list3 = node3.ChildNodes;for (int k = 0; k < list3.Count; k++){XmlNode node4 = list3[k];if (node4.LocalName.Equals(sValue3)){if (Value == ""){node4.SelectSingleNode(Key).InnerText = "无";}else{node4.SelectSingleNode(Key).InnerText = Value;}}}}}}}}doc.Save(sXMLPath);}#endregion }
}

 public void createXml(double meters){XmlDocument xml = new XmlDocument();//xml文件的相对路径string stringPath = Application.ExecutablePath.Substring(0, Application.ExecutablePath.LastIndexOf('\\')) + "\\searchStation.xml";if (!System.IO.File.Exists(stringPath)){System.IO.FileStream fileStream = new System.IO.FileStream(stringPath, System.IO.FileMode.Create, System.IO.FileAccess.ReadWrite, System.IO.FileShare.ReadWrite);fileStream.Close();System.IO.File.WriteAllText(stringPath, "<?xml version=\"1.0\"?><ROOT><AREA>"+meters.ToString()+"</AREA></ROOT>");}xml.Load(stringPath);XmlNode nodes = xml.DocumentElement;foreach (XmlNode item in nodes.ChildNodes){if (item.Name == "AREA"){item.InnerText = meters.ToString();}}xml.Save(stringPath);}

更多:https://i.cnblogs.com/EditPosts.aspx?postid=3673944

C#:xml操作(待补充)相关推荐

  1. LINQ系列:LINQ to XML操作

    LINQ to XML操作XML文件的方法,如创建XML文件.添加新的元素到XML文件中.修改XML文件中的元素.删除XML文件中的元素等. 1. 创建XML文件 string xmlFilePath ...

  2. Qt的Xml操作QDomDocument

    Qt的Xml操作QDomDocument Qt对于Xml的支持是很好的,一些我们需要的操作应有尽有,下面简单介绍一下怎样使用.主要有以下几点使用: 写xml到文件 读xml 添加节点到xml 删除xm ...

  3. php操作xml类,PHP实现的XML操作类【XML Library】

    本文实例讲述了PHP实现的XML操作类.分享给大家供大家参考,具体如下: 这是一个接口程序,需要大量分析解析XML,PHP的xml_parse_into_struct()函数不能直接生成便于使用的数组 ...

  4. Open XML操作Excel导入数据

    项目中发现使用OleDb(using System.Data.OleDb)相关对象处理Excel导入功能,不是很稳定经常出问题,需要把这个问题解决掉.项目组提出使用OpenXML来处理Excel的导入 ...

  5. python读取xml编码gb2312_【转】python XML 操作总结(创建、保存和删除,支持utf-8和gb2312)...

    最近写程序需要用到xml操作,看了看python.org上面的几个xml类库,还是一头雾水,感觉太学术化了,都那么吝惜写几个例子.所以自己整理了一下,算是个小总结,和大家分享一下吧. 对于简单的操作x ...

  6. python对XML 操作

    python对XML 操作 一.XML的读取. 在 NewEdit 中有代码片段的功能,代码片段分为片段的分类和片段的内容.在缺省情况下都是用XML格式保存的.下面我讲述一下,如何使用minidom来 ...

  7. Python XML操作处理

    Python XML操作处理 Python XML操作处理: 可扩展标记语言(XML)是一个很象HTML或SGML的标记语言.这是建议由万维网联盟作为一个开放的标准. 什么是XML ? 可扩展标记语言 ...

  8. C#:XML操作类--转

    写的一个XML操作类,包括读取/插入/修改/删除. using System; using System.Data; using System.Configuration; using System. ...

  9. php xml 格式化,PHP:XML操作

    PHP:XML操作 XML 是一个很实用的东西,存储数据.交换数据都很方便,但如何对 XML 进行基本的操作呢? 对 XML 的操作包括创建 XML 文档,添加.查看.修改.删除数据,操作方法有很多种 ...

  10. C++ XML操作类

    C++ XML操作类 转载自:http://beself.top/2019/03/03/c-xml%E6%93%8D%E4%BD%9C%E7%B1%BB/ gitee源码:https://gitee. ...

最新文章

  1. 如何使用JPA注解标注多对多的关系
  2. bazel 链接第三方动态库_Linux 动态库与静态库制作及使用详解
  3. C段渗透攻击必看的技术知识
  4. VS2005解决方案的目录结构
  5. TensorRT trtexec的用法
  6. eclipse远程调试失败
  7. Mangos源码分析(3):服务器结构探讨之简单的世界服实现
  8. VS2017简单用法
  9. java使用zxing生成二维码
  10. LVS三种工作模式、十种调度算法介绍
  11. es6 语法 (类与对象)
  12. Java常用集合类详解
  13. 天翼云虚拟IP地址及其在高可用集群中的应用
  14. Circumventing Group Policy Settings
  15. CFA大起底:三百六十度无死角详解CFA到底是个啥?
  16. 【Tableau】时间维度
  17. 网易云音乐PC客户端加密API逆向解析
  18. 暗黑系王者,低照度图像增强技术解析
  19. Carsim2019_官方Help学习笔记_Running a VS FMU in Simulink (Carsim与Matlab联合仿真方法之一)
  20. EEPROM介绍及与Flash区别

热门文章

  1. Linux使用FlowScan
  2. 深入浅出hive-hive简介
  3. 【程序员面试宝典】第五章 程序设计基本概念
  4. Delphi中TMediaPlayer播放音乐出现no MCI device open的错误的解决方法
  5. 《『若水新闻』客户端开发教程》——06.设计新闻内容UI
  6. gtk_widget_add_events为某个构件添加一个事件
  7. 【JAQS】jaqs与DataCore 框架安装,学习笔记(一)
  8. 80.简单搭建nodeJS服务,访问本地站点文件
  9. IDC:IoT市场即将井喷的5大标志
  10. Node学习记录: 图片爬虫