当前位置: 首页 > news >正文

做包装看什么网站网站快速排名公司

做包装看什么网站,网站快速排名公司,腾讯学生云服务器如何做网站,c 网站开发简单实例教程前言 该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包括Xml序列化和反序列化,Xml文件读取,Xml文档节点内容增删改的一些通过方法)。当然可…

前言

该篇文章主要总结的是自己平时工作中使用频率比较高的Xml文档操作的一些常用方法和收集网上写的比较好的一些通用Xml文档操作的方法(主要包括Xml序列化和反序列化,Xml文件读取,Xml文档节点内容增删改的一些通过方法)。当然可能还有很多方法会漏了,假如各位同学好的方法可以在文末留言,我会统一收集起来。

C#XML基础入门

C# XML基础入门(XML文件内容增删改查清)👉‍

Xml反序列化为对象

#region Xml反序列化为对象/// <summary>/// Xml反序列化为指定模型对象/// </summary>/// <typeparam name="T">对象类型</typeparam>/// <param name="xmlContent">Xml内容</param>/// <param name="isThrowException">是否抛出异常</param>/// <returns></returns>public static T XmlConvertToModel<T>(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 name="filePath">Xml文件的位置(绝对路径)</param>  /// <returns></returns>    public static T DeserializeFromXml<T>(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 name="obj">对象</param>/// <param name="isThrowException">是否抛出异常</param>/// <returns></returns>public static string ObjectSerializerXml<T>(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 version=""1.0"" encoding=""utf-16""?>", "");return replaceStr;}}catch (Exception ex){if (isThrowException){throw ex;}return string.Empty;}}#endregion

Xml字符处理

#region Xml字符处理/// <summary>/// 特殊符号转换为转义字符/// </summary>/// <param name="xmlStr"></param>/// <returns></returns>public string XmlSpecialSymbolConvert(string xmlStr){return xmlStr.Replace("&", "&amp;").Replace("<", "&lt;").Replace(">", "&gt;").Replace("\'", "&apos;").Replace("\"", "&quot;");}#endregion

创建Xml文档


#region 创建Xml文档/// <summary>/// 创建Xml文档/// </summary>/// <param name="saveFilePath">文件保存位置</param>public 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 name="xmlDoc">xml文档</param>    /// <param name="parentNode">Xml父节点</param>    /// <param name="name">节点名</param>    /// <param name="value">节点值</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 name="filePath">Xml文档路径</param>/// <param name="node">节点</param>/// <param name="attribute">读取数据的属性名</param>/// <returns>string</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 name="filePath">Xml文档路径</param>/// <param name="nodeName">节点名</param>/// <returns></returns>public 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 name="node">要查询的节点</param>/// <param name="filePath">Xml文档路径</param>public 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 name="node">要查询的节点</param>/// <param name="filePath">Xml文档路径</param>public 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 name="path">路径</param>/// <param name="node">节点</param>/// <param name="element">元素名</param>/// <param name="attribute">属性名</param>/// <param name="value">属性数据</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 name="path">路径</param>/// <param name="node">节点</param>/// <param name="attribute">属性名</param>/// <param name="value">属性数据</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 name="path">路径</param>/// <param name="node">节点</param>/// <param name="attribute">属性名</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帮助类/// </summary>public class XMLHelper
{#region Xml反序列化为对象/// <summary>/// Xml反序列化为指定模型对象/// </summary>/// <typeparam name="T">对象类型</typeparam>/// <param name="xmlContent">Xml内容</param>/// <param name="isThrowException">是否抛出异常</param>/// <returns></returns>public static T XmlConvertToModel<T>(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 name="filePath">Xml文件的位置(绝对路径)</param>  /// <returns></returns>    public static T DeserializeFromXml<T>(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 name="obj">对象</param>/// <param name="isThrowException">是否抛出异常</param>/// <returns></returns>public static string ObjectSerializerXml<T>(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 version=""1.0"" encoding=""utf-16""?>", "");return replaceStr;}}catch (Exception ex){if (isThrowException){throw ex;}return string.Empty;}}#endregion#region Xml字符处理/// <summary>/// 特殊符号转换为转义字符/// </summary>/// <param name="xmlStr"></param>/// <returns></returns>public string XmlSpecialSymbolConvert(string xmlStr){return xmlStr.Replace("&", "&").Replace("<", "<").Replace(">", ">").Replace("\'", "&apos;").Replace("\"", """);}#endregion#region 创建Xml文档/// <summary>/// 创建Xml文档/// </summary>/// <param name="saveFilePath">文件保存位置</param>public 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 name="xmlDoc">xml文档</param>    /// <param name="parentNode">Xml父节点</param>    /// <param name="name">节点名</param>    /// <param name="value">节点值</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 name="filePath">Xml文档路径</param>/// <param name="node">节点</param>/// <param name="attribute">读取数据的属性名</param>/// <returns>string</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 name="filePath">Xml文档路径</param>/// <param name="nodeName">节点名</param>/// <returns></returns>public 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 name="node">要查询的节点</param>/// <param name="filePath">Xml文档路径</param>public 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 name="node">要查询的节点</param>/// <param name="filePath">Xml文档路径</param>public 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 name="path">路径</param>/// <param name="node">节点</param>/// <param name="element">元素名</param>/// <param name="attribute">属性名</param>/// <param name="value">属性数据</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 name="path">路径</param>/// <param name="node">节点</param>/// <param name="attribute">属性名</param>/// <param name="value">属性数据</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 name="path">路径</param>/// <param name="node">节点</param>/// <param name="attribute">属性名</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.mmbaike.com/news/32615.html

相关文章:

  • 网站怎么申请百度小程序优化关键词的步骤
  • 北京各大网站推广平台哪家好推广之家app下载
  • wordpress中的分类页seo网站快速整站优化技术
  • 淘宝客怎么做自己的网站镇江网站建设推广
  • url转发网站关键词优化排名
  • 做网站的调研报告网上推销产品的软件
  • 开利网络企业网站建设第一品牌深圳最新疫情最新消息
  • 网站建设的目的只是开展网络营销北京seo包年
  • 东莞网页制作网站专注于品牌营销服务
  • 网站建设中英语seo推广优化平台
  • 福田网站建设龙岗网站建设罗湖网站建设百度今日数据统计
  • 如何检查网站是否做cdn加速上海互联网管理系统推广公司
  • 下载网站后台自媒体推广渠道有哪些
  • 自助建站百度长尾关键词快速排名软件
  • 服装电子商务网站建设3000字1688关键词排名查询
  • 1核1g服务器做网站百度客户服务电话
  • ps做网站广州网络推广选择
  • 学校asp网站南宁网站运营优化平台
  • 合肥html5网站建设谷歌google官网入口
  • 专业做高端网站seo每日工作内容
  • 淄博网站建设推广360搜索引擎首页
  • 学做淘宝客网站有哪些互联网推广是做什么的
  • 给小孩子做网站常见的网络营销方式有哪几种
  • 中英文外贸网站模板 生成静态htmlseo和sem分别是什么
  • 最新网站开发语言关键词排名优化营销推广
  • 宁波做网站优化多少钱免费推广产品平台有哪些
  • wordpress 媒体播放宁波厂家关键词优化
  • 网站建设代理加盟百度广告推广怎么收费
  • 儿童网站模板免费下载除了百度指数还有哪些指数
  • 随州网站建设多少钱网站页面优化包括