2010-06-04 32 views
2

您用什麼工具從xml文件創建類源代碼?這是我需要推出自己的邊緣案例嗎?我需要從一些XML文件創建DTO,但XML文件可能會更改(添加/刪除屬性),因此我需要能夠快速更新它們。C#類(源代碼)XML文件生成器

我對.xml -> .xsd -> bloated .cs的方法並沒有留下深刻的印象,並且正在尋找能夠爲我生成簡單POCO的東西。有沒有你使用或看到過的工具?

+0

你指的是使用'xsd.exe'(http://msdn.microsoft.com/en-us/library/x6c1kb0s%28VS.80%29.aspx)爲在你的臃腫題? – 2010-06-04 21:35:49

+0

是的。這就是我的意思。 – Nate 2010-06-04 21:44:01

回答

6

在VS2008及更高版本T4中有一種內置的方法可以做到這一點。 Hanselman在一個地方有一堆great links

+1

T4讓我想起了很多Apache Velocity ......順便說一句,有一個名爲NVelocity的.NET端口。 T4比VS更好地集成到NVelocity中,因此可能值得研究。也很高興看到它不僅限於純粹的.cs,而且支持任何其他文本格式...... – code4life 2010-06-04 21:39:44

+0

有沒有一種方法可以使用T4模板中的現有類?我收到一個錯誤「無法找到類型或名稱空間名稱'myclass'。」我已經將它添加爲T4模板所在的項目的參考,我是否會誤解錯誤? – Nate 2010-06-04 22:22:07

+0

不,你必須從編寫代碼開始進行轉換,因爲它是一個通用引擎,不僅適用於xml和xslt – blowdart 2010-06-04 23:06:03

0

T4聽起來很完美了這一點。

它本質上是一個類似於ASP.NET的語法,用於根據您的模板生成代碼。

您將編寫模板以根據需要輸出POCO的代碼,然後將代碼嵌入到模板中以迭代XML集合。

T4是Visual Studio 2008(但未公開)和2010年的一部分。Microsoft DSL工具爲單獨下載的Visual Studio 2005提供T4支持。

http://msdn.microsoft.com/en-us/library/bb126445.aspx

0

我意識到,這是一個比較舊的文章,你可能已經移動了。 但我遇到同樣的問題,所以我決定編寫我自己的程序。

這絕不是優雅,但它爲我做了工作。

你可以在這裏得到它:如果你喜歡它,請提出建議。

SimpleXmlToCode