2008-09-30 147 views
1

我需要用C#生成XML文件。如何使用類似於ASP.NET的模板創建XML文件

我想寫一個代碼,這個代碼在一個主要是XML的代碼裏面生成這個代碼,就像我可以在ASP.NET MVC頁面中一樣。

所以我希望有一個代碼文件看起來像:

<lots of angle brackets...> 

    <% foreach(data in myData) 
    { %> 

    < <%= data.somefield %> 

    <% } %> 

More angle brackets> 

這將生成我的XML文件。我不介意使用System.Web的一部分,如果有人告訴我如何在沒有IIS開銷或克服一代Web文件的情況下做到這一點。

我想使用的模板,我想模板類似於ASP.NET

+0

這裏有什麼問題?我看到許多完美可行的解決方案正在被修改爲負面... – Sklivvz 2008-09-30 15:49:14

+0

這個問題並沒有問如何在C#中創建XML。它詢問如何使用類似於ASP.NET的模板在C#中創建XML。 – Peter 2008-09-30 16:52:50

回答

2

首先,它容易得多用來生成XML另外,如果你絕對需要模板化,我建議使用模板引擎,如NVelocity,而不是嘗試使用kludge ASP。我們建議使用模板引擎,例如NVelocity。 NET爲你做。

-1

創建一個標準的ASPX文件中的網頁瀏覽量,但不包括主或其他任何東西。剛開始放在尖括號和其他一切。您需要做的一件事就是設置內容類型。但是可以通過調用Response.ContentType =「text/xml」;

-1

從代碼中做到這一點最簡單的方法是使用012 System.Xml中的類。

教程here

XmlWriterSettings settings = new XmlWriterSettings(); 
settings.Indent = true; 
settings.IndentChars = (" "); 
using (XmlWriter writer = XmlWriter.Create("books.xml", settings)) 
{ 
    // Write XML data. 
    writer.WriteStartElement("book"); 
    writer.WriteElementString("price", "19.95"); 
    writer.WriteEndElement(); 
    writer.Flush(); 
} 
0

而且上面 - 使用使用LINQ提供的新XML類 - 他們做代XML的一個符合邏輯的方式非常非常容易,雖然你不會踏踏實實地一些類似於在C#中的模板。

如果你真的需要像這樣的模板 - 而且我知道這不一定會順利 - 你應該看看在VB.NET中做系統的這一部分,其中確實對模板有明確的支持XML生成作爲其Linq到XML實現的一部分。至少在解僱它之前,你應該看看VB.NET提供了什麼。

.NET的本質意味着您不必將VB.NET用於其他任何東西,您可以將其限制爲執行XML生成所需的類(「)和」泛型「它帶有.NET,任何有能力的.NET程序員都應該理解周圍的邏輯。

相關問題