标签:
代码自动生成,代码生成器。
方法一 拼字符串
拼字符串,任何开发工具任何语言都可以,死板,编译代码,拼字符串很麻烦,格式变动就要在原来的拼接字符串上改动,容易出错。
不过使用起来方便。
方法二用微软的VS工具,
XML和XSLT。方法
VS2013,打开自己写的xsl文件,选择菜单XML下的 《开始XLST而不调试》,选择对应的自己写的XML元数据文件,就生成了。
需要自己编译XML文件和XLS文件。
<?xml version="1.0" encoding="GB2312" standalone="yes"?> <?xml-stylesheet href="endE.xsl" type="text/xsl"?> <DATA> <FunctionName>TestFun</FunctionName> <ParaCount>3</ParaCount> <ROWPara> <ROW0>ID</ROW0> <ROW1>Name</ROW1> <ROW2>IDNo</ROW2> <ROW2>CardNo</ROW2> </ROWPara> <ROWName> <ROW0>ID</ROW0> <ROW1>Name</ROW1> <ROW2>Sex</ROW2> <ROW2>age</ROW2> <ROW2>Nation</ROW2> <ROW2>Account</ROW2> <ROW2>City</ROW2> </ROWName> </DATA>
<?xml version="1.0" encoding="gb2312" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <!--第一部分的生成dataset--> <pre> -----------------------OLE Function Log--------------------------- { lg->info("<xsl:value-of select="DATA/FunctionName"/>"); vapp.OleFunction("<xsl:value-of select="DATA/FunctionName"/>",<xsl:for-each select="DATA/ROWPara/*"><xsl:value-of select="current()"/>, </xsl:for-each>); <xsl:for-each select="DATA/ROWName/*" > lg->infoRow(<xsl:value-of select="current()"/>);</xsl:for-each> } </pre> </body> </html> </xsl:template> </xsl:stylesheet>
生成的Code
-----------------------OLE Function Log--------------------------- { lg->info("TestFun"); vapp.OleFunction("TestFun",ID, Name, IDNo, CardNo, ); lg->infoRow(ID); lg->infoRow(Name); lg->infoRow(Sex); lg->infoRow(age); lg->infoRow(Nation); lg->infoRow(Account); lg->infoRow(City); }
标签:
原文地址:http://www.cnblogs.com/cb168/p/4285656.html