网站风格设计要素松江网站建设多少钱
web/
2025/10/6 21:51:55/
文章来源:
网站风格设计要素,松江网站建设多少钱,南京市城乡建设局网站,江苏镇江前言
该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法#xff08;主要包括Xml序列化和反序列化#xff0c;Xml文件读取#xff0c;Xml文档节点内容增删改的一些通过方法#xff09;。当然可…前言
该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法主要包括Xml序列化和反序列化Xml文件读取Xml文档节点内容增删改的一些通过方法。当然可能还有很多方法会漏了假如各位同学好的方法可以在文末留言我会统一收集起来。
C#XML基础入门 C# XML基础入门XML文件内容增删改查清 Xml反序列化为对象
#region Xml反序列化为对象/// summary/// Xml反序列化为指定模型对象/// /summary/// typeparam nameT对象类型/typeparam/// param namexmlContentXml内容/param/// param nameisThrowException是否抛出异常/param/// returns/returnspublic static T XmlConvertToModelT(string xmlContent, bool isThrowException false) where T : class{StringReader stringReader null;try{XmlSerializer xmlSerializer new XmlSerializer(typeof(T));stringReader new StringReader(xmlContent);return (T)xmlSerializer.Deserialize(stringReader);}catch (Exception ex){if (isThrowException){throw ex;}return null;}finally{stringReader?.Dispose();}}/// summary /// 读取Xml文件内容反序列化为指定的对象 /// /summary /// param namefilePathXml文件的位置绝对路径/param /// returns/returns public static T DeserializeFromXmlT(string filePath){try{if (!File.Exists(filePath))throw new ArgumentNullException(filePath not Exists);using (StreamReader reader new StreamReader(filePath)){XmlSerializer xs new XmlSerializer(typeof(T));T ret (T)xs.Deserialize(reader);return ret;}}catch (Exception ex){return default(T);}}#endregion
对象序列化为Xml #region 对象序列化为Xml/// summary/// 对象序列化为Xml/// /summary/// param nameobj对象/param/// param nameisThrowException是否抛出异常/param/// returns/returnspublic static string ObjectSerializerXmlT(T obj, bool isThrowException false){if (obj null){return string.Empty;}try{using (StringWriter sw new StringWriter()){Type t obj.GetType();//强制指定命名空间覆盖默认的命名空间 XmlSerializerNamespaces namespaces new XmlSerializerNamespaces();//在Xml序列化时去除默认命名空间xmlns:xsd和xmlns:xsinamespaces.Add(string.Empty, string.Empty);XmlSerializer serializer new XmlSerializer(obj.GetType());//序列化时增加namespacesserializer.Serialize(sw, obj, namespaces);sw.Close();string replaceStr sw.ToString().Replace(?xml version1.0 encodingutf-16?, );return replaceStr;}}catch (Exception ex){if (isThrowException){throw ex;}return string.Empty;}}#endregion
Xml字符处理
#region Xml字符处理/// summary/// 特殊符号转换为转义字符/// /summary/// param namexmlStr/param/// returns/returnspublic string XmlSpecialSymbolConvert(string xmlStr){return xmlStr.Replace(, amp;).Replace(, lt;).Replace(, gt;).Replace(\, apos;).Replace(\, quot;);}#endregion
创建Xml文档 #region 创建Xml文档/// summary/// 创建Xml文档/// /summary/// param namesaveFilePath文件保存位置/parampublic void CreateXmlDocument(string saveFilePath){XmlDocument xmlDoc new XmlDocument();//创建类型声明节点 XmlNode node xmlDoc.CreateXmlDeclaration(1.0, utf-8, );xmlDoc.AppendChild(node);//创建Xml根节点XmlNode root xmlDoc.CreateElement(books);xmlDoc.AppendChild(root);XmlNode root1 xmlDoc.CreateElement(book);root.AppendChild(root1);//创建子节点CreateNode(xmlDoc, root1, author, 追逐时光者);CreateNode(xmlDoc, root1, title, XML学习教程);CreateNode(xmlDoc, root1, publisher, 时光出版社);//将文件保存到指定位置xmlDoc.Save(saveFilePath/*D://xmlSampleCreateFile.xml*/);}/// summary /// 创建节点 /// /summary /// param namexmlDocxml文档/param /// param nameparentNodeXml父节点/param /// param namename节点名/param /// param namevalue节点值/param /// public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value){//创建对应Xml节点元素XmlNode node xmlDoc.CreateNode(XmlNodeType.Element, name, null);node.InnerText value;parentNode.AppendChild(node);}#endregion
Xml数据读取 #region Xml数据读取/// summary/// 读取Xml指定节点中的数据/// /summary/// param namefilePathXml文档路径/param/// param namenode节点/param/// param nameattribute读取数据的属性名/param/// returnsstring/returns/*************************************************** 使用示列:* XmlHelper.XmlReadNodeAttributeValue(path, /books/book, author)************************************************/public static string XmlReadNodeAttributeValue(string filePath, string node, string attribute){string value ;try{XmlDocument doc new XmlDocument();doc.Load(filePath);XmlNode xmlNode doc.SelectSingleNode(node);value (attribute.Equals() ? xmlNode.InnerText : xmlNode.Attributes[attribute].Value);}catch { }return value;}/// summary/// 获得xml文件中指定节点的节点数据/// /summary/// param namefilePathXml文档路径/param/// param namenodeName节点名/param/// returns/returnspublic static string GetNodeInfoByNodeName(string filePath, string nodeName){string XmlString string.Empty;XmlDocument xml new XmlDocument();xml.Load(filePath);XmlElement root xml.DocumentElement;XmlNode node root.SelectSingleNode(// nodeName);if (node ! null){XmlString node.InnerText;}return XmlString;}/// summary/// 获取某一节点的所有孩子节点的值/// /summary/// param namenode要查询的节点/param/// param namefilePathXml文档路径/parampublic string[] ReadAllChildallValue(string node, string filePath){int i 0;string[] str { };XmlDocument doc new XmlDocument();doc.Load(filePath);XmlNode xn doc.SelectSingleNode(node);XmlNodeList nodelist xn.ChildNodes; //得到该节点的子节点if (nodelist.Count 0){str new string[nodelist.Count];foreach (XmlElement el in nodelist)//读元素值{str[i] el.Value;i;}}return str;}/// summary/// 获取某一节点的所有孩子节点的值/// /summary/// param namenode要查询的节点/param/// param namefilePathXml文档路径/parampublic XmlNodeList ReadAllChild(string node, string filePath){XmlDocument doc new XmlDocument();doc.Load(filePath);XmlNode xn doc.SelectSingleNode(node);XmlNodeList nodelist xn.ChildNodes; //得到该节点的子节点return nodelist;}#endregion
Xml插入数据
#region Xml插入数据/// summary/// Xml指定节点元素属性插入数据/// /summary/// param namepath路径/param/// param namenode节点/param/// param nameelement元素名/param/// param nameattribute属性名/param/// param namevalue属性数据/param/// returns/returns/*************************************************** 使用示列:* XmlHelper.XmlInsertValue(path, /books, book, author, Value)************************************************/public static void XmlInsertValue(string path, string node, string element, string attribute, string value){try{XmlDocument doc new XmlDocument();doc.Load(path);XmlNode xmlNode doc.SelectSingleNode(node);if (element.Equals()){if (!attribute.Equals()){XmlElement xe (XmlElement)xmlNode;xe.SetAttribute(attribute, value);}}else{XmlElement xe doc.CreateElement(element);if (attribute.Equals())xe.InnerText value;elsexe.SetAttribute(attribute, value);//添加新增的节点xmlNode.AppendChild(xe);}//保存Xml文档doc.Save(path);}catch { }}#endregion
Xml修改数据 #region Xml修改数据/// summary/// Xml指定节点元素属性修改数据/// /summary/// param namepath路径/param/// param namenode节点/param/// param nameattribute属性名/param/// param namevalue属性数据/param/// returns/returns/*************************************************** 使用示列:* XmlHelper.XmlUpdateValue(path, /books, book,author,Value)************************************************/public static void XmlUpdateValue(string path, string node, string attribute, string value){try{XmlDocument doc new XmlDocument();doc.Load(path);XmlNode xmlNode doc.SelectSingleNode(node);XmlElement xmlElement (XmlElement)xmlNode;if (attribute.Equals())xmlElement.InnerText value;elsexmlElement.SetAttribute(attribute, value);//保存Xml文档doc.Save(path);}catch { }}#endregion
Xml删除数据 #region Xml删除数据/// summary/// 删除数据/// /summary/// param namepath路径/param/// param namenode节点/param/// param nameattribute属性名/param/// returns/returns/*************************************************** 使用示列:* XmlHelper.XmlDelete(path, /books, book)************************************************/public static void XmlDelete(string path, string node, string attribute){try{XmlDocument doc new XmlDocument();doc.Load(path);XmlNode xn doc.SelectSingleNode(node);XmlElement xe (XmlElement)xn;if (attribute.Equals())xn.ParentNode.RemoveChild(xn);elsexe.RemoveAttribute(attribute);doc.Save(path);}catch { }}#endregion
完整的XmlHelper帮助类
注意有些方法不能保证百分之百没有问题的假如有问题可以留言给我我会验证并立即修改。 /// summary/// Xml帮助类/// /summarypublic class XMLHelper
{#region Xml反序列化为对象/// summary/// Xml反序列化为指定模型对象/// /summary/// typeparam nameT对象类型/typeparam/// param namexmlContentXml内容/param/// param nameisThrowException是否抛出异常/param/// returns/returnspublic static T XmlConvertToModelT(string xmlContent, bool isThrowException false) where T : class
{StringReader stringReader null;try{XmlSerializer xmlSerializer new XmlSerializer(typeof(T));stringReader new StringReader(xmlContent);return (T)xmlSerializer.Deserialize(stringReader);}catch (Exception ex){if (isThrowException){throw ex;}return null;}finally{stringReader?.Dispose();}}/// summary /// 读取Xml文件内容反序列化为指定的对象 /// /summary /// param namefilePathXml文件的位置绝对路径/param /// returns/returns public static T DeserializeFromXmlT(string filePath){try{if (!File.Exists(filePath))throw new ArgumentNullException(filePath not Exists);using (StreamReader reader new StreamReader(filePath)){XmlSerializer xs new XmlSerializer(typeof(T));T ret (T)xs.Deserialize(reader);return ret;}}catch (Exception ex){return default(T);}}#endregion#region 对象序列化为Xml/// summary/// 对象序列化为Xml/// /summary/// param nameobj对象/param/// param nameisThrowException是否抛出异常/param/// returns/returnspublic static string ObjectSerializerXmlT(T obj, bool isThrowException false){if (obj null){return string.Empty;}try{using (StringWriter sw new StringWriter()){Type t obj.GetType();//强制指定命名空间覆盖默认的命名空间 XmlSerializerNamespaces namespaces new XmlSerializerNamespaces();//在Xml序列化时去除默认命名空间xmlns:xsd和xmlns:xsinamespaces.Add(string.Empty, string.Empty);XmlSerializer serializer new XmlSerializer(obj.GetType());//序列化时增加namespacesserializer.Serialize(sw, obj, namespaces);sw.Close();string replaceStr sw.ToString().Replace(?xml version1.0 encodingutf-16?, );return replaceStr;}}catch (Exception ex){if (isThrowException){throw ex;}return string.Empty;}}#endregion#region Xml字符处理/// summary/// 特殊符号转换为转义字符/// /summary/// param namexmlStr/param/// returns/returnspublic string XmlSpecialSymbolConvert(string xmlStr){return xmlStr.Replace(, ).Replace(, ).Replace(, ).Replace(\, apos;).Replace(\, );}#endregion#region 创建Xml文档/// summary/// 创建Xml文档/// /summary/// param namesaveFilePath文件保存位置/parampublic void CreateXmlDocument(string saveFilePath){XmlDocument xmlDoc new XmlDocument();//创建类型声明节点 XmlNode node xmlDoc.CreateXmlDeclaration(1.0, utf-8, );xmlDoc.AppendChild(node);//创建Xml根节点XmlNode root xmlDoc.CreateElement(books);xmlDoc.AppendChild(root);XmlNode root1 xmlDoc.CreateElement(book);root.AppendChild(root1);//创建子节点CreateNode(xmlDoc, root1, author, 追逐时光者);CreateNode(xmlDoc, root1, title, XML学习教程);CreateNode(xmlDoc, root1, publisher, 时光出版社);//将文件保存到指定位置xmlDoc.Save(saveFilePath/*D://xmlSampleCreateFile.xml*/);}/// summary /// 创建节点 /// /summary /// param namexmlDocxml文档/param /// param nameparentNodeXml父节点/param /// param namename节点名/param /// param namevalue节点值/param /// public void CreateNode(XmlDocument xmlDoc, XmlNode parentNode, string name, string value){//创建对应Xml节点元素XmlNode node xmlDoc.CreateNode(XmlNodeType.Element, name, null);node.InnerText value;parentNode.AppendChild(node);}#endregion#region Xml数据读取/// summary/// 读取Xml指定节点中的数据/// /summary/// param namefilePathXml文档路径/param/// param namenode节点/param/// param nameattribute读取数据的属性名/param/// returnsstring/returns/*************************************************** 使用示列:* XmlHelper.XmlReadNodeAttributeValue(path, /books/book, author)************************************************/public static string XmlReadNodeAttributeValue(string filePath, string node, string attribute){string value ;try{XmlDocument doc new XmlDocument();doc.Load(filePath);XmlNode xmlNode doc.SelectSingleNode(node);value (attribute.Equals() ? xmlNode.InnerText : xmlNode.Attributes[attribute].Value);}catch { }return value;}/// summary/// 获得xml文件中指定节点的节点数据/// /summary/// param namefilePathXml文档路径/param/// param namenodeName节点名/param/// returns/returnspublic static string GetNodeInfoByNodeName(string filePath, string nodeName){string XmlString string.Empty;XmlDocument xml new XmlDocument();xml.Load(filePath);XmlElement root xml.DocumentElement;XmlNode node root.SelectSingleNode(// nodeName);if (node ! null){XmlString node.InnerText;}return XmlString;}/// summary/// 获取某一节点的所有孩子节点的值/// /summary/// param namenode要查询的节点/param/// param namefilePathXml文档路径/parampublic string[] ReadAllChildallValue(string node, string filePath){int i 0;string[] str { };XmlDocument doc new XmlDocument();doc.Load(filePath);XmlNode xn doc.SelectSingleNode(node);XmlNodeList nodelist xn.ChildNodes; //得到该节点的子节点if (nodelist.Count 0){str new string[nodelist.Count];foreach (XmlElement el in nodelist)//读元素值{str[i] el.Value;i;}}return str;}/// summary/// 获取某一节点的所有孩子节点的值/// /summary/// param namenode要查询的节点/param/// param namefilePathXml文档路径/parampublic XmlNodeList ReadAllChild(string node, string filePath){XmlDocument doc new XmlDocument();doc.Load(filePath);XmlNode xn doc.SelectSingleNode(node);XmlNodeList nodelist xn.ChildNodes; //得到该节点的子节点return nodelist;}#endregion#region Xml插入数据/// summary/// Xml指定节点元素属性插入数据/// /summary/// param namepath路径/param/// param namenode节点/param/// param nameelement元素名/param/// param nameattribute属性名/param/// param namevalue属性数据/param/// returns/returns/*************************************************** 使用示列:* XmlHelper.XmlInsertValue(path, /books, book, author, Value)************************************************/public static void XmlInsertValue(string path, string node, string element, string attribute, string value){try{XmlDocument doc new XmlDocument();doc.Load(path);XmlNode xmlNode doc.SelectSingleNode(node);if (element.Equals()){if (!attribute.Equals()){XmlElement xe (XmlElement)xmlNode;xe.SetAttribute(attribute, value);}}else{XmlElement xe doc.CreateElement(element);if (attribute.Equals())xe.InnerText value;elsexe.SetAttribute(attribute, value);//添加新增的节点xmlNode.AppendChild(xe);}//保存Xml文档doc.Save(path);}catch { }}#endregion#region Xml修改数据/// summary/// Xml指定节点元素属性修改数据/// /summary/// param namepath路径/param/// param namenode节点/param/// param nameattribute属性名/param/// param namevalue属性数据/param/// returns/returns/*************************************************** 使用示列:* XmlHelper.XmlUpdateValue(path, /books, book,author,Value)************************************************/public static void XmlUpdateValue(string path, string node, string attribute, string value){try{XmlDocument doc new XmlDocument();doc.Load(path);XmlNode xmlNode doc.SelectSingleNode(node);XmlElement xmlElement (XmlElement)xmlNode;if (attribute.Equals())xmlElement.InnerText value;elsexmlElement.SetAttribute(attribute, value);//保存Xml文档doc.Save(path);}catch { }}#endregion#region Xml删除数据/// summary/// 删除数据/// /summary/// param namepath路径/param/// param namenode节点/param/// param nameattribute属性名/param/// returns/returns/*************************************************** 使用示列:* XmlHelper.XmlDelete(path, /books, book)************************************************/public static void XmlDelete(string path, string node, string attribute){try{XmlDocument doc new XmlDocument();doc.Load(path);XmlNode xn doc.SelectSingleNode(node);XmlElement xe (XmlElement)xn;if (attribute.Equals())xn.ParentNode.RemoveChild(xn);elsexe.RemoveAttribute(attribute);doc.Save(path);}catch { }}#endregion}
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88121.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!