C# 如何使用类似于ASP.NET的模板创建XML文件
我需要用C生成一个XML文件 我想在一个主要是XML的文件中编写生成该文件的代码,其中包含代码,就像在ASP.NETMVC页面中一样 所以我想要一个代码文件,看起来像:C# 如何使用类似于ASP.NET的模板创建XML文件,c#,asp.net,xml,C#,Asp.net,Xml,我需要用C生成一个XML文件 我想在一个主要是XML的文件中编写生成该文件的代码,其中包含代码,就像在ASP.NETMVC页面中一样 所以我想要一个代码文件,看起来像: <lots of angle brackets...> <% foreach(data in myData) { %> < <%= data.somefield %> <% } %> More angle brackets> 这将生
<lots of angle brackets...>
<% foreach(data in myData)
{ %>
< <%= data.somefield %>
<% } %>
More angle brackets>
这将生成我的XML文件。如果有人告诉我如何在不增加IIS开销或不生成Web文件的情况下使用System.Web的一部分,我不会介意
我想使用模板,我想使用类似于ASP.NET的模板,在标准的ASPX文件中创建一个页面视图,但不包括主视图或任何其他内容。只要开始放进尖括号和其他所有东西。您需要做的一件事是设置内容类型。但这可以通过调用Response.ContentType=text/xml在您的操作中实现 MvcContrib中有一个XSLT视图引擎: 这可能会给你你所需要的
实际上,任何视图引擎都可以工作。。。尽管WebForms视图引擎会抱怨您编写的不是有效的HTML。首先,使用XElements生成XML要容易得多。到处都有很多例子。只需搜索linqtoxml
或者,如果您确实需要进行模板制作,我建议您使用一个模板引擎,例如,而不是试图强迫ASP.NET为您进行模板制作。从代码中执行此操作的最简单方法是使用System.Xml中的类 教程
除此之外,使用Linq提供的新XML类,它们使以逻辑方式生成XML变得更加容易,尽管您不会深入到类似于C中模板的内容 如果您真的需要类似于模板的东西——我知道这不一定会顺利进行——那么您应该考虑在VB.NET中完成系统的这一部分,它确实明确支持类似于模板的XML生成,作为Linq到XML实现的一部分。至少你应该先看看VB.NET提供了什么,然后再放弃它
NET的本质意味着您不必使用VB.NET来做任何其他事情,您可以将它限制在生成XML所需的类和它的泛型,因为它与.NET一起提供,任何有能力的.NET程序员都应该能够理解周围的逻辑。这里有什么问题吗?我看到许多完全可行的解决方案被修改成了否定的解决方案……问题不是问如何在C中创建XML,而是问如何使用类似于ASP.NET的模板在C中创建XML。我很想知道为什么这被否决,因为对于一个有能力的.NET开发人员来说,这是一个经过仔细鉴定和明智的答案
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();
}