XML代码生成器——XMLFACTORY 简介(四)
XML代码生成器——XMLFACTORY 简介(四)
这一篇我们讲“类属性”页签的配置功能,您将了解到:如何为元素子值指定类属性的名称,数据类型,及容器类型。
如果,你没看过这个系列的第一篇文章,请先去看这篇文章,否则您可能看不懂本文。 XML代码生成器——XMLFACTORY 简介(一)
<connectionStrings>
<add name="con1"
providerName="System.Data.SqlClient"
connectionString="Data Source=localhost;Initial Catalog=database1;"/>
<add name="con2"
providerName="System.Data.SqlClient"
connectionString="Data Source=localhost;Initial Catalog=database2;"/>
</connectionStrings>
上面的Xml是.net开发中用到的连接字符串配置节点,真正开发时当然用不着自已解析,微软都准备好了:ConfigurationManager.ConnectionStrings["sqlconn1"].ConnectionString; 我们在这里引用它仅用于说明案例。
你认为以下那种方式的实体类,获取数据更方便?
| A方式 | B方式 |
|---|---|
public class ConnectionStrings |
public class ConnectionStrings |
A方式用List保存元素<add>中的值,而B方式用Dictionary进行保存。就本例而言,B方式更便于我们消费数据,它用元素<add>中name属性做为Dictionary的键值(key),而元素<add>本身做为Dictionary的值(value)进行存储。
如何用代码生成器生成B型式的实体类呢?
1.打开页面:http://www.codingfactory.net/Page/XmlFactory/client/XmlFactory_Flex.html
2.粘贴上面的Xml到“样本Xml”中,连续点“Next”直到显示“类属性”页签
3.左侧表格中选中类:ConnectionStrings,右侧表格中展开“MapKey”列中的下拉列表,选择“Name”项。如下图:

“MapKey”中列出的项是元素<add>的子值,确切的说,是类Add的属性。你选择那一项,那一项就做为Dictionary的key;如果你什么都不选,那就生成A方式的实体类。注意:这一项的“数据类型”不可手工更改,因为元素<add>已经被指定为Add类。你可以在左侧列表中选中Add类,看看它的属性,其数据类型都可以任意选择。
如果你想指定类属性的名称,可以修改“属性名称”列的值。
“FormatString”用于实体类对象序列化为Xml时,格式化属性文本。如:属性为DateTime类型,可在“FormatString”中填写"yyyy-MM-dd"。这样序列化为Xml时,该属性的值会像这样显示:2012-03-01。
“Summary”是类属性的注释信息。生成的代码会是这个样子:
/// <summary>
/// 此处内容是在“类名称”页签的“类备注”列中填写的
/// <summary>
public class SomeClass
{
/// <summary>
/// 此处内容是在“类属性”页签的“Summary”列中填写的
/// <summary>
public Int32 Abc{ get; set; }
}
本文示例的生成代码:
http://www.codingfactory.net/Page/XmlFactory/OutPut/XmlCSharp.aspx?id=9268
http://www.codingfactory.net/Page/XmlFactory/OutPut/XmlCSharp.aspx?id=9269
XML代码生成器——XMLFACTORY 简介(四)的更多相关文章
- XML代码生成器——XMLFACTORY 简介(三)
XML代码生成器——XMLFACTORY 简介(三) 这一篇我们讲“类名称”页签 的配置功能,您将了解到:如何为Xml元素指定对应的类名称及脱壳功能. 如果,你没看过这个系列的第一篇文章,请先去看这篇 ...
- XML代码生成器——XMLFACTORY 简介(一)
XML代码生成器——XMLFACTORY 简介(一) 软件开发中经常要和第三方应用交互数据,特别是在银行.电信行业,这种需求更是必不可少,往往一个系统要和三五个其它系统交互数据,而数据交换的报文经常采 ...
- XML代码生成器——XMLFACTORY 简介(二)
XML代码生成器——XMLFACTORY 简介(二) 因为春节和项目上线的原因,离写上一篇文章的时间已经好久了. 不知道是事情太多了,还是自已效率太低了.总之是时间不够用. 哎,苦逼的程序员 ...
- XML.01-语法简介
body,td { font-family: calibri; font-size: 10pt } XML.01-语法简介 文档声明 元素(标签) 属性 注释 特殊字符 CDATA区域 处理指令 ...
- 浅谈用java解析xml文档(四)
继续接上一文,这一阵子因为公司项目加紧,导致最后一个解析xml文档的方式,还没有总结,下面总结使用dom4J解析xml. DOM4J(Document Object Model for Java) 使 ...
- Mybatis的XML映射文件(四)
MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行对比,你会立即发现省掉了将近 95% ...
- XML学习笔记(四)-- 修饰XML文档的CSS
标签(空格分隔): 学习笔记 XML为存储结构化数据提供了强大的方法,但是它没有提供关于数据如何显示地信息,(数据的结构与数据表示无关).可以使用CSS来控制XML文档中各元素的呈现方式. CSS语法 ...
- 2016 - 1 - 23 xml解析 -- 语法简介
一: XML的概念 1. 一种可拓展标记语言 2. 与json一样,也是一种常用的数据交互格式 3. 一般也叫XML文档---XML Document 二: XML语法 1.一个完整的XML文档一 ...
- android XMl 解析神奇xstream 四: 将复杂的xml文件解析为对象
前言:对xstream不理解的请看: android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件 android XMl 解析神奇xs ...
随机推荐
- CentOS_7.2安装PHP_5.6
一.安装依赖包和开发工具: yum install vim vim-enhanced wget zip unzip telnet ntsysv compat* apr* nasm* gcc gcc* ...
- 权重和层叠规则决定了CSS样式优先级
一.基本的优先级规则 比较同一级别的个数,数量多的优先级高,如果相同即比较下一级别的个数,至于各级别的优先级如下: important > 内联 > ID > 类 > 标签 | ...
- Web导出EXCEL
前台(客户端)导出EXCEL: 单纯的JS能够导出Excel的,一般都需要调用客户端所安装的Office Excel组件(COM接口)来完成这个工作. http://www.stepday.com/t ...
- easyui datagrid 逻辑分页
function getGroupUsers(groupPath) { $('#tbGroupUsersList').datagrid({ width: 800, height: 100, nowra ...
- NSDate 时间
NSDate *date=[NSDate date]; NSDateFormatter *formatter=[[NSDateFormatter alloc]init]; formatter.date ...
- JAVA动手动脑异常处理
1>请阅读并运行AboutException.java示例,然后通过后面的几页PPT了解Java中实现异常处理的基础知识. import javax.swing.*; class AboutEx ...
- POJ 3415 Common Substrings 后缀数组+并查集
后缀数组,看到网上很多题解都是单调栈,这里提供一个不是单调栈的做法, 首先将两个串 连接起来求height 求完之后按height值从大往小合并. height值代表的是 sa[i]和sa[i ...
- 浅谈对ionic项目的理解
在思考怎么将客户端app连接到服务器的时候,就在想ionic项目的本质是什么,一开始因为ionic serve这一命令,我以为它自己就是个服务器,但是后来一细想又感觉不是这样,不然客户端又该怎么和服务 ...
- Visual Basic 2012 借助DataGridView控件将SQL server2012 数据导入到Excel 2010
摘 要: SQL Server 2012 数据和Excel 2010之间的连接和数据的传输,本篇文章主要针对的是SQL Server 2012 数据导入到Excel 2010文件中.Excel软件对 ...
- C++中的全局变量、普通局部变量和静态局部变量的区别
在C++中,我们经常难以说清楚全局变量.局部变量和静态局部变量的区别.本博客从变量存储特性和标识符作用域两个角度区分这三个变量. 首先,我们来看看C++程序的内存区域是如何分配的. 从上图,我们可以看 ...