C#:xml操作(待补充)
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操作(待补充)的更多相关文章
- LINQ系列:LINQ to XML操作
LINQ to XML操作XML文件的方法,如创建XML文件.添加新的元素到XML文件中.修改XML文件中的元素.删除XML文件中的元素等. 1. 创建XML文件 string xmlFilePath ...
- T-Sql(五)xml操作
t-sql中的xml操作在我们平时做项目的过程中用的很少,因为我们处理的数据量很少,除非一些用到xml的地方,t-sql中xml操作一般用在数据量很大,性能优化的地方,当然我在平时做项目的时候也是没用 ...
- XML格式示例 与 XML操作(读取)类封装
header('Content-Type: text/xml'); <?xml version="1.0" encoding="utf-8" standa ...
- 【Java EE 学习 33 上】【JQuery样式操作】【JQuery中的Ajax操作】【JQuery中的XML操作】
一.JQuery中样式的操作 1.给id=mover的div采用属性增加样式.one $("#b1").click(function(){ $("#mover" ...
- 简单的XML操作类
/// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { pr ...
- .net学习笔记---xml操作及读写
一.XML文件操作中与.Net中对应的类 微软的.NET框架在System.xml命名空间提供了一系列的类用于Dom的实现. 以下给出XML文档的组成部分对应.NET中的类: XML文档组成部分 对应 ...
- C#常用操作类库三(XML操作类)
/// <summary> /// XmlHelper 的摘要说明. /// xml操作类 /// </summary> public class XmlHelper { pr ...
- php xml 操作。
参考 文章:http://www.cnblogs.com/zcy_soft/archive/2011/01/26/1945482.html DOMDocument相关的内容. 属性: Attribut ...
- XML Helper XML操作类
写的一个XML操作类,包括读取/插入/修改/删除. using System;using System.Data;using System.Configuration;using System.Web ...
- 我的PHP之旅--XML操作
XML操作 XML主要是做数据存储和WEB服务的,所以我们难免要操作它,这里只介绍PHP的simpleXML方式. 我们要操作的XML: <?xml version="1.0" ...
随机推荐
- POJ 1222 POJ 1830 POJ 1681 POJ 1753 POJ 3185 高斯消元求解一类开关问题
http://poj.org/problem?id=1222 http://poj.org/problem?id=1830 http://poj.org/problem?id=1681 http:// ...
- Use a TL431 shunt regulator to limit high ac input voltage
Most isolated, offline SMPSs (switched-mode power supplies), including flyback, forward, and resonan ...
- MC34063组成DC-DC电路
+VO的输出电压峰值可达2倍V_IN,-VO的输出电压可达-V_IN. 需要注意的是,3路的峰值电路不能超过1.5A,同时两路附加电源的输出功率和必须小于V_IN·I·(1-D), 其中I为主输出的电 ...
- Framebuffer重要结构体说明
l fb_var_screeninfo:记录了帧缓冲设备和指定显示模式的可修改记录.包括屏幕的分辨率,像素信息和一些时序变量 struct fb_var_screeninfo { __u32 xre ...
- 【java】java工具类StringUtils,org.apache.commons.lang3.StringUtils
使用过程中,发现StringUtils工具类功能非常的多. 例如,判断元素是否为数字: StringUtils.isNumeric(string)
- appium+python自动化60-windows上同时启动多个appium服务,让多个android机器并行运行
前言 做android自动化的时候,启动一个appium服务,只能匹配一个手机去自动化执行.有时候想同一套代码,可以在不同的手机上执行,测下app在不同手机上兼容性. 这就需要启动多个appium服务 ...
- 显示所有环境变量:env 或者 printenv
显示所有环境变量:env 或者 printenv
- Python的__getattribute__ vs __getattr__的妙用
这里的属性即包括属性变量,也包括属性方法.即类的变量和方法. 当访问某个实例属性时, getattribute会被无条件调用,如未实现自己的getattr方法,会抛出AttributeError提示找 ...
- Linux文件系统---用户与内核的交互接口
从磁盘到数据,从数据到文件,从文件到目录,从目录到文件系统,从文件系统到操作系统.构成了计算机中的IO读写机制. 整个磁盘可以分为1个MBR(Master Boot Record)和4个partiti ...
- 如何用代码方式获取Web.config中system.serviceModel/client节点的address
以下代码GetAPIAddress将返回:http://localhost:2555/APITEST.asmx using System.Web.Configuration;using System. ...