利用反射让Model与Xml互转的通用方法
来源:互联网 发布:java lambda filter 编辑:程序博客网 时间:2024/05/22 07:53
Model与XML互相转换
/// <summary>
/// XML转化为Model的方法
/// </summary>
/// <param name="xml">要转化的XML</param>
/// <param name="SampleModel">Model的实体示例,New一个出来即可</param>
/// <returns></returns>
public static object XMLToModel(string xml, object SampleModel)
{
if (string.IsNullOrEmpty(xml))
return SampleModel;
else
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(xml);
XmlNodeList attributes = xmldoc.SelectSingleNode("/NewDataSet/Table").ChildNodes;
foreach (XmlNode node in attributes)
{
foreach (PropertyInfo property in SampleModel.GetType().GetProperties())
{
if (node.Name == property.Name)
{
if (node.InnerText != "")
{
if (property.PropertyType == typeof(System.Guid))
property.SetValue(SampleModel, new Guid(node.InnerText), null);
else
property.SetValue(SampleModel, Convert.ChangeType(node.InnerText, property.PropertyType), null);
}
else
property.SetValue(SampleModel, null, null);
}
}
}
return SampleModel;
}
}
/// <summary>
/// Model转化为XML的方法
/// </summary>
/// <param name="model">要转化的Model</param>
/// <returns></returns>
public static string ModelToXML(object model)
{
XmlDocument xmldoc = new XmlDocument();
XmlElement ModelNode = xmldoc.CreateElement("Table");
xmldoc.AppendChild(ModelNode);
if (model != null)
{
foreach (PropertyInfo property in model.GetType().GetProperties())
{
XmlElement attribute = xmldoc.CreateElement(property.Name);
if (property.GetValue(model, null) != null)
attribute.InnerText = property.GetValue(model, null).ToString();
else
attribute.InnerText = "";
ModelNode.AppendChild(attribute);
}
}
return xmldoc.OuterXml;
}
http://blog.csdn.net/baple/article/details/7263651
- 利用反射让Model与Xml互转的通用方法
- 利用反射把让Model与XML互相转换的方法,很通用
- 利用反射把让Model与XML互相转换的方法,很通用
- 利用反射机制解决通用xml的解析
- 利用java反射机制编写通用的toString 方法
- 利用java反射创建通用的数据库查询方法
- 利用反射实现JDBC的数据库通用查询方法
- 利用java反射 和 Dom4j 写的通用xml解析器
- 为所有model添加通用的方法
- JDBC:利用反射及JDBC元数据编写通用的查询方法
- 利用Android反射与泛型机制写一个通用的Adapter类
- 利用反射实现对象与map的互转
- JDBC:利用 ResultSetMetaData 和反射编写通用查询方法
- 通用的XML处理方法
- 利用XML实现通用的数据访问
- 一个通用快速的反射方法调用
- 利用xml来存储一些像分类,文章评论之类的小数据的通用方法
- 利用XML文件进行类的反射
- 程序填空
- ACM-Sort it
- java之IO流总结
- 如何处理海量数据(转)
- 使用报告实现分子式显示
- 利用反射让Model与Xml互转的通用方法
- android横竖屏切换的生命周期解析
- opencv
- MATLAB图片缩小代码
- 12周:项目1-教师兼干部类
- 用友ERP T6 技术解析(一)
- 第四题 P034
- 第12周项目 程序阅读(5.d)
- C++基本概念----构造函数和析构函数