- 浏览: 1060782 次
- 性别:
- 来自: 杭州
文章分类
- 全部博客 (399)
- C++ (39)
- Java (74)
- Java界面开发学习笔记 (4)
- Java用户的c++之旅 (0)
- 自言自语 (12)
- DSP (1)
- MCU (0)
- CG (0)
- Jabber (0)
- Gloox (0)
- Linux (11)
- Windows (19)
- Networks (4)
- Jobs (0)
- PHP (1)
- JSP (2)
- 生活 (35)
- C (2)
- Qt4 (2)
- C# (50)
- WPF (5)
- ASP (2)
- FLEX (47)
- SQL (20)
- JavaScript (12)
- SharePoint (6)
- GWT (1)
- Dojo (9)
- HTML (11)
- Others (7)
- 如何安装配置系列 (7)
- UML (2)
- Android (3)
- alibaba (1)
最新评论
-
zxjlwt:
学习了http://surenpi.com
Firefox插件开发: Hello World! -
ylldzz:
楼主知道MVEL怎么调试么
MVEL简介及快速使用 -
blueman2012:
您好,可否提供源码下载,我把您的代码贴过来后,好多报错的,谢谢 ...
Log4J日志解析 -
svygh123:
你的游标都没有关闭呢!
MYSQL游标嵌套循环示例 -
dizh:
写的很好啊
MVEL简介及快速使用
首先描述一种情景,当给你一个VO类(这个类是映射到数据库的表上的),现在让你把这个VO对象(已包含有效数据)另存为成XML文件,一般的做法可能是:
rows[i].SetAttribute("Adddate", ret[i].Adddate);
如果属性只有五六七八个还可以忍受手写的方式,如果多至十几乃至几十的情况下,手写已经超出了人的忍耐程度。下面给出一种解决方法,利用C#的反射机制自动生成这些XML节点(属性等)。
给出一个示例的VO类:
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace DataCenter.VO { public class HousehireVO { private int _id; private string _area; private string _source; private string _sphone; private string _address; private int _lc; private string _hx; private string _zhuangxiu; private double _hireprice; private int _bnuan; private string _ptss; private string _sysm; private string _bphone; private string _linkman; private string _wtsm; private DateTime _adddate; private int _userid; private int _deptid; private string _deptName; private int _invaliddate; private string _gjxl; private int _status; private int _isAgreement; private double _mj; #region Constructors public HousehireVO() { } #endregion #region Properties //一些Setter/Getter #endregion } }
上述这个类描述了一条房屋租赁信息。
不多废话,给出遍历属性的实现代码,如下:
List<VO.HousehireVO> ret ; //创建xml文档对象 XmlDocument doc = new XmlDocument(); //xml头 doc.AppendChild(doc.CreateXmlDeclaration("1.0", "utf-8", null)); //声明 //根元素 doc.AppendChild(doc.CreateElement("root")); //根节点 XmlElement[] rows = new XmlElement[ret.Count]; for (int i = 0; i < ret.Count; i++) { rows[i] = doc.CreateElement("Info"); HousehireVO vo = ret[i]; Type vType = vo.GetType(); PropertyInfo[] vPropertyInfos = vType.GetProperties(); foreach (PropertyInfo vPropertyInfo in vPropertyInfos) { rows[i].SetAttribute(vPropertyInfo.Name, vPropertyInfo.GetValue(ret[0], null); } }
发表评论
-
策略模式
2010-10-08 16:34 1136一、概念 策略模式(Strategy):它定义了一系 ... -
C#获取返回错误码
2010-05-21 17:59 1780[DllImport("TestWin32Dl ... -
VS.NET 开发Windows服务的步骤
2010-05-20 14:25 1568在很多应用中需要做windows服务来在一些后台操作,比如监视 ... -
c# 允许服务与桌面交互
2010-05-20 14:20 2664我们写一个服务,有时候要让服务启动某个应用程序,就要修 ... -
C#单例模式的三种写法
2010-05-19 15:58 48524第一种最简单,但没有考虑线程安全,在多线程时可能会出问题, ... -
C#中获取我的文档系统文件夹路径
2010-05-17 15:29 2238本技巧使用GetFolderPath方法来获取指向由指定枚 ... -
C#自定义事件的步骤介绍
2010-05-13 17:54 3253通常C#自定义事件有下面的几个步骤: ... -
C#的逆向工程-IL指令集
2010-04-30 10:28 1591一些 IL 语言解释: ... -
使用SqlHelper时“阅读器关闭时read的尝试无效”的解决方法
2010-04-20 14:54 1786原SqlHelper类中ExecuteReader方法体 ... -
C# 删除文件夹
2009-12-31 11:28 2499/// <summary> ... -
System.Windows.Forms.Timer和System.Timers.Timer的区别 [转]
2009-12-16 23:44 5158.NET Framework里面提供了三种Timer: ... -
关于var1=var2=something赋值语句的思考
2009-11-18 16:16 1197刚才在阅读《c#本质论》一书时,开头有提到var1=var2= ... -
C#使textbox滚动到最新一行
2009-11-16 12:33 2452方法1: textBox.Text += " ... -
Invoke()/BeginInvoke()区别
2009-11-15 17:43 7170查看MSDN如下: Control..::.Inv ... -
Invoke 和 BeginInvoke 的真正涵义
2009-11-15 17:37 1288BeginInvoke 方法真的是新开一个线程进行异步调用 ... -
编写安全的多线程C#程序
2009-11-15 01:24 1875与多线程相关的两个常见的需要解决的问题是:临界资源保护和线 ... -
线程,同步与锁——Lock你到底锁住了谁
2009-11-15 01:18 1566线程在多核时代的优势月来越明显,多线程编程的学习也提上议事日程 ... -
关于lock(this)的说明及用法
2009-11-15 01:16 5284一. 为什么要lock,lock了 ... -
远程dll注入 C#
2009-11-14 16:43 3094using System; using System. ... -
C# 3.0新特性之扩展方法
2009-11-09 17:02 952C#3.0扩展方法是给现有类型添加一个方法。现在类型既可是基本 ...
相关推荐
(7)使用PropertyInfo了解属性的名称、数据类型、声明类型、反射类型和只读或可写状态等,获取或设置属性值。 (8)使用ParameterInfo了解参数的名称、数据类型、是输入参数还是输出参数,以及参数在方法签名中的...
8.5.5 遍历对象图 8.6 小结 8.7 思考题 第9章 通过Hibernate操纵对象(下) 9.1 与触发器协同工作 9.2 利用拦截器(Interceptor)生成审计日志 9.3 Hibernate的事件处理机制 9.4 批量处理数据 9.4.1...
8.5.5 遍历对象图 8.6 小结 8.7 思考题 第9章 通过Hibernate操纵对象(下) 9.1 与触发器协同工作 9.2 利用拦截器(Interceptor)生成审计日志 9.3 Hibernate的事件处理机制 9.4 批量处理数据 9.4.1...
8.5.5 遍历对象图 8.6 小结 8.7 思考题 第9章 通过Hibernate操纵对象(下) 9.1 与触发器协同工作 9.2 利用拦截器(Interceptor)生成审计日志 9.3 Hibernate的事件处理机制 9.4 批量处理数据 9.4.1...
8.5.5 遍历对象图 8.6 小结 8.7 思考题 第9章 通过Hibernate操纵对象(下) 9.1 与触发器协同工作 9.2 利用拦截器(Interceptor)生成审计日志 9.3 Hibernate的事件处理机制 9.4 批量处理数据 9.4.1...
7.2.3 反射机制--枚举对象属性 7.3 对象的构造 7.3.1 构造函数--一个双精度浮点数封装类的例子 7.3.2 缺省构造和拷贝构造 7.3.3 对象常量 7.4 对象的销毁和存储单元的回收 7.5 JavaScript...
学生提问:使用组合关系来实现复用时,需要创建两个Animal对象,是不是意味着使用组合关系时系统开销更大? 159 5.9 初始化块 159 5.9.1 使用初始化块 160 5.9.2 初始化块和构造器 161 5.9.3 静态初始化块 162 ...
XSL学习心得 - 调用属性值 XSLT与XML转换的详细介绍 功能应用 读写搜索 基础教程 RSS Web2.0时代,RSS你会用了吗?(技术实现总结) 知识集锦:三分钟全面了解 Blog 和 RSS C#+ASP.NET开发基于Web的RSS阅读器 ASP.NET ...
8.2.4 对属性使用对象初始化器 150 8.3 索引器 151 8.3.1 索引器的声明 151 8.3.2 一维索引器的使用 152 8.3.3 重载索引器 153 8.3.4 比较属性和索引器 153 8.3.5 比较索引器和数组 154 8.4 小结 154 8.5 习题 154 ...
描述反射机制的作用 62.如何读写一个文件? 63.在图形界面中,一个按钮如何处理鼠标点击事件? 64.在图形界面中,一个表格,如何实现编辑单元格时弹出下拉框? 65.如何加载图片? 66.什么是模态对话框? 67....
DumpMethods.java 使用反射机制来获取类中的方法 getClassName.java 利用反射机制获取类的名字 invokeConstructor.java 利用反射机制调用构造器 invokeMethod.java 利用反射机制调用成员方法 listConstructors....
6.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理? 答 : this.Server.Transfer 7.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty? ...
java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java....
尽管它是个商用软件包,但你也可以在Internet上找到它(见第VII页),而且可以在自己的应用程序中自由使用这个软件包。Tcl解释器已经从Unix平台移植到了DOS、Windows、OS/2、NT以及Macintosh环境中,而TK工具包也从X ...
22.1 在Scala代码中使用Java名称 430 22.2 Java泛型与Scala泛型 430 22.3 JavaBean的性质 432 22.4 AnyVal类型与Java原生类型 433 22.5 Java代码中的Scala名称 433 22.6 本章回顾与下一章提要 434 ...
35. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传递? 18 36. swtich是否能作用在byte上,是否能作用在long上,是否能作用在String上?...
java.lang.reflect 提供类和接口,以获得关于类和对象的反射信息。 java.math 提供用于执行任意精度整数算法 (BigInteger) 和任意精度小数算法 (BigDecimal) 的类。 java.net 为实现网络应用程序提供类。 java....
41、什么是java反射机制? 84 42、hashmap的底层实现 85 43、什么是java内存泄漏,怎么预防? 85 七、框架部分 85 1、谈谈你对Struts2的理解。 85 2、谈谈你对Hibernate的理解。 86 3、你对Spring的理解。 87 4、...