XmlHelher帮助类-----xml
来源:互联网 发布:深圳市软件企业 退税 编辑:程序博客网 时间:2024/06/05 07:25
public class XmlHelper { /// <summary> /// 实体类序列化成xml /// </summary> /// <param name="enitities">The enitities.</param> /// <param name="headtag">The headtag.</param> /// <returns></returns> public static string ToXml<T>(List<T> enitities, string root = "Score") { StringBuilder sb = new StringBuilder(); PropertyInfo[] propinfos = null; foreach (T obj in enitities) { //初始化propertyinfo if (propinfos == null) { Type bjtype = obj.GetType(); propinfos = bjtype.GetProperties(); } sb.AppendLine("<" + root + ">"); foreach (PropertyInfo propinfo in propinfos) { sb.Append("<"); sb.Append(propinfo.Name); sb.Append(">"); sb.Append(propinfo.GetValue(obj, null)); sb.Append("</"); sb.Append(propinfo.Name); sb.AppendLine(">"); } sb.AppendLine("</" + root + ">"); } return sb.ToString(); } /// <summary> /// 使用XML初始化实体类容器 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="typename">The typename.</param> /// <param name="xml">The XML.</param> /// <param name="headtag">The headtag.</param> /// <returns></returns> public static List<T> XmlToObjList<T>(string xml, string root = "Score") where T : new() { List<T> list = new List<T>(); XmlDocument doc = new XmlDocument(); PropertyInfo[] propinfos = null; doc.LoadXml(xml); XmlNodeList nodelist = doc.SelectNodes(root); foreach (XmlNode node in nodelist) { T entity = new T(); //初始化propertyinfo if (propinfos == null) { Type bjtype = entity.GetType(); propinfos = bjtype.GetProperties(); } //填充entity类的属性 foreach (PropertyInfo propinfo in propinfos) { XmlNode cnode = node.SelectSingleNode(propinfo.Name); if (cnode == null) continue; string v = cnode.InnerText; if (v != null) propinfo.SetValue(entity, Convert.ChangeType(v, propinfo.PropertyType), null); } list.Add(entity); } return list; } /// <summary> /// 使用XML初始化实体类容器 /// </summary> /// <typeparam name="T"></typeparam> /// <param name="typename">The typename.</param> /// <param name="xml">The XML.</param> /// <param name="headtag">The headtag.</param> /// <returns></returns> public static List<T> XmlToObj<T>(string xml, string root = "Item") where T : new() { List<T> list = new List<T>(); XmlDocument doc = new XmlDocument(); PropertyInfo[] propinfos = null; doc.LoadXml(xml); XmlNodeList nodelist = doc.GetElementsByTagName(root); foreach (XmlNode node in nodelist) { T entity = new T(); //初始化propertyinfo if (propinfos == null) { Type bjtype = entity.GetType(); propinfos = bjtype.GetProperties(); } //填充entity类的属性 foreach (PropertyInfo propinfo in propinfos) { foreach (XmlNode sNode in node.ChildNodes) { if (sNode == null) continue; if (sNode.Name == propinfo.Name) { string v = sNode.InnerText; if (v != null) { propinfo.SetValue(entity, Convert.ChangeType(v, propinfo.PropertyType), null); break; } } } //XmlNode cnode = node.(propinfo.Name); //if (cnode == null) continue; //string v = cnode.InnerText; //if (v != null) // propinfo.SetValue(entity, Convert.ChangeType(v, propinfo.PropertyType), null); } list.Add(entity); } return list; } }
阅读全文
0 0
- XmlHelher帮助类-----xml
- xml帮助类
- Xml帮助类
- XML帮助类
- NET JSON XML帮助类
- xml解析构建帮助类
- C#xml操作帮助类
- XML帮助类 xml 转实体 或 实体 转xml
- 对XMl数据操作帮助类
- boost.property_tree解析xml的帮助类
- C# 序列化反序列化XML的帮助类
- C#XmlHelper操作Xml文档的帮助类
- C#xml创建修改读取删除帮助类XmlHelper.cs
- 使用XML帮助上传文件
- 使用XML帮助上传文件
- XML Schema帮助文档2
- XML Schema帮助文档3
- XML Schema 帮助文档4
- U盘容量从16G变成8M解决办法
- Oracle的odbc driver安装配置(Linux)
- 【codevs 6162】Meronri爬楼梯
- Mybatis学习第一天
- win10使用vmware虚拟机安装ubuntu
- XmlHelher帮助类-----xml
- 浅谈Java中的递归与尾递归
- Java工程师面试知识点---Map系列
- 性能测试过程及模型构建
- 网页登录数据库(七)
- Windows10 64位系统下成功安装Caffe(CPU+VS 2013)
- 020day(指针的基本概念和用法,意义和互相赋值)
- Redis配置主从架构,实现读写分离
- RSA 算法笔记