您的位置:首页 > 编程语言 > C#

[C#]一步一步开发自己的自动代码生成工具之三:代码生成引擎

2008-07-15 17:45 956 查看
第三步:代码生成引擎

自动代码生成方案很多,这里为了配置模板方便,就使用了最常见的XML+XSLT模板方式。

核心代码如下:
public static bool TransferXml(XmlDocument xmlDoc, string XslPath, string TargetFileName)

{

XslCompiledTransform xslTran = new XslCompiledTransform();

XmlTextWriter xw = null;

try

{

xw = new XmlTextWriter(TargetFileName, Encoding.UTF8);

xslTran.Load(XslPath);

xslTran.Transform(xmlDoc, xw);

return true;

}

catch

{

return false;

}

finally

{

if (xw != null)

{

xw.Flush();

xw.Close();

}

}

}

public static string TransferXmlToString(XmlDocument XmlDoc, string XsltPath)

{

//获取Model类模板

string ResultStr = "";

MemoryStream ms = null;

StreamReader sr = null;

try

{

XslCompiledTransform XTran = new XslCompiledTransform();

XTran.Load(XsltPath);

ms = new System.IO.MemoryStream();

XPathNavigator nav = XmlDoc.CreateNavigator();

XTran.Transform(nav, null, ms);

ms.Position = 0;

sr = new StreamReader(ms);

ResultStr = sr.ReadToEnd();

ResultStr = ResultStr.Replace("<?xml version=/"1.0/" encoding=/"utf-8/"?>", "");

return ResultStr;

}

catch

{

return "";

}

finally

{

if (sr != null)

{

sr.Close();

sr.Dispose();

}

if (ms != null)

{

ms.Dispose();

}

}

}


好了,现在为止,代码生成工具就基本完成了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐