从XML文件生成C#类(源代码)生成器

从XML文件生成C#类(源代码)生成器,c#,.net,xml,code-generation,C#,.net,Xml,Code Generation,您使用了哪些工具从xml文件创建类源代码?这是一个边缘案件,我需要推出自己的?我需要从一些XML文件创建DTO,但是XML文件可能会更改(添加/删除属性),因此我需要能够快速更新它们 我对.xml->.xsd->bloated.cs方法真的没有什么印象,我希望能为我生成简单的POCO。您使用过或看到过哪些工具可以做到这一点吗?在VS2008及更高版本T4中,有一种内置的方法可以做到这一点。Hanselman在一个地方有一堆代码。XSD2代码如何: T4听上去非常适合这一点 它本质上是一种类似AS

您使用了哪些工具从xml文件创建类源代码?这是一个边缘案件,我需要推出自己的?我需要从一些XML文件创建DTO,但是XML文件可能会更改(添加/删除属性),因此我需要能够快速更新它们


我对
.xml->.xsd->bloated.cs
方法真的没有什么印象,我希望能为我生成简单的POCO。您使用过或看到过哪些工具可以做到这一点吗?

在VS2008及更高版本T4中,有一种内置的方法可以做到这一点。Hanselman在一个地方有一堆代码。

XSD2代码如何:

T4听上去非常适合这一点

它本质上是一种类似ASP.NET的语法,用于根据模板生成代码

您可以编写模板以根据需要输出POCO的代码,然后将代码嵌入模板中以迭代XML集合

T4是Visual Studio 2008(但未记录)和2010的一部分。Microsoft DSL工具提供了对T4 for Visual Studio 2005的单独下载支持


我意识到这是一篇相当古老的帖子,你可能已经离开了。 但是我和你有同样的问题,所以我决定写我自己的程序

它一点也不优雅,但它为我做到了

你可以在这里找到:如果你喜欢,请提出建议


你是说在你的问题中使用
xsd.exe
()过于臃肿吗?T4让我想起了ApacheVelocity。。。顺便说一下,有一个名为NVelocity的.NET端口。T4比NVelocity更好地集成到VS中,因此可能值得研究。还很高兴看到它不限于sheerly.cs,而是支持任何其他文本格式…有没有办法从T4模板中使用现有类?我收到一个错误“找不到类型或名称空间名称‘myclass’”。我将其添加为T4模板所在项目的引用,我是否做错了什么?不,您必须从编写代码开始进行转换,因为它是一个通用引擎,不只是用于xml和xsltNo,我有一个T4样式的for循环,它在硬编码列表中生成我想要的代码,我有一个类,它可以从我的XML文件返回数据列表,我只是不知道如何在T4模板中初始化我的类。例如,我见过其他人使用框架基类syetem.io.file。我最终需要在我的文件顶部添加
标记,而且效果非常好!