博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Xml帮助类
阅读量:5068 次
发布时间:2019-06-12

本文共 2652 字,大约阅读时间需要 8 分钟。

 

public class XMLHelper    {        #region  将xml文件转换为object对象类型         ///         /// 将xml文件转换为object对象类型         ///         /// xml文件的路径        /// 要转换的类型的Type类型        /// 
public static object ConvertXMLToObject(string path, Type type) { object obj = null; using (StreamReader reader = new StreamReader(path)) { string content = reader.ReadToEnd(); if (null == content) { throw new ArgumentNullException("xml"); } if (null == type) { throw new ArgumentNullException("type"); } XmlSerializer serializer = new XmlSerializer(type); StringReader strReader = new StringReader(content); XmlReader xreader = new XmlTextReader(strReader); try { obj = serializer.Deserialize(xreader); } catch(InvalidOperationException ie) { throw new InvalidOperationException("Can not convert xml to object", ie); } finally { xreader.Close(); } return obj; } } #endregion #region 将object对象转成xml保存 /// /// 将object对象转成xml保存 /// /// 保存到xml文件的路径 /// 待转换的对象 /// xml是否缩进 true:缩进,false:不缩进 public static void SaveObjectXML(string path, object obj, bool toBeIndented=true) { if (null == obj) { throw new ArgumentNullException("obj"); } UTF8Encoding encoding = new UTF8Encoding(false); XmlSerializer serializer = new XmlSerializer(obj.GetType()); MemoryStream stream = new MemoryStream(); XmlTextWriter writer = new XmlTextWriter(stream, encoding); writer.Formatting = toBeIndented ? Formatting.Indented : Formatting.None; try { serializer.Serialize(writer, obj); } catch (InvalidOperationException ie) { throw new InvalidOperationException("Can not convert object to xml.", ie); } finally { writer.Close(); } string xml = encoding.GetString(stream.ToArray()); using (StreamWriter swriter = new StreamWriter(path)) { swriter.Write(xml); } } #endregion }
View Code

 

转载于:https://www.cnblogs.com/zhuyuchao/p/5891038.html

你可能感兴趣的文章
数组和关联数组
查看>>
C# 知识点总结
查看>>
STP RSTP
查看>>
2018年学习计划
查看>>
Visual Studio 2017 版本 15.5.5
查看>>
防火墙/IDS测试工具Ftester
查看>>
“多个单核CPU”与“单个多核CPU”哪种方式性能较强?
查看>>
PEP8 Python 编码规范整理
查看>>
esxi安装全过程及基本配置
查看>>
First ServiceStack Service
查看>>
SNMP协议
查看>>
Django模型之Meta选项详解
查看>>
cell选中后进入重用池出来选中状态消失
查看>>
物联网开源项目:机智云智能婴儿摇篮,可跟踪、能防丢
查看>>
手机验证码免费10条\java、C#、html....
查看>>
项目管理:代码仓库管理、项目进度管理与持续集成工具介绍
查看>>
第一阶段SCRUM冲刺01
查看>>
2014025630《嵌入式程序设计》第一周学习总结
查看>>
java.lang.OutOfMemoryError: Java heap space的解决方法
查看>>
SQL Server开发的二十一条军规
查看>>