在C#控制台应用程序中生成HTML / XML标记?

时间:2016-07-28 12:56:06

标签: c# html xml razor console-application

我正在使用一个生成XML / HTML输出的控制台应用程序。目前我的代码包含硬编码的意大利面条标记。

是否可以使用剃须刀或某种工具来改善这一点并使其更清洁?

foreach (var file in _files)
{
    TagLib.File f = TagLib.File.Create(file.FullName);
    string title = f.Tag.Title;

    string url = _urlPrefix + file.Name;

    StringBuilder sb = new StringBuilder();

    sb.Append("<item>\n");
    sb.AppendFormat("\t<title>{0}</title>\n", HttpUtility.HtmlEncode(title));
    sb.AppendFormat("\t<pubDate>{0}</pubDate>\n", file.CreationTimeUtc.ToString("r"));
    sb.AppendFormat("\t<guid isPermaLink=\"false\">{0}</guid>\n", url);
    sb.AppendFormat("\t<enclosure url=\"{0}\" length=\"{1}\" type=\"audio/mpeg\" />\n", url, file.Length);
    sb.Append("\t<itunes:subtitle></itunes:subtitle>\n");
    sb.Append("\t<itunes:summary></itunes:summary>\n");
    sb.Append("</item>\n");

    items.AppendLine(sb.ToString());
}

3 个答案:

答案 0 :(得分:1)

有一个开源项目允许使用Razor作为一般的模板引擎:它被称为 razorengine

 string template = "Hello @Model.Name! Welcome to Razor!";
 string result = Razor.Parse(template, new { Name = "World" });

我认为这对你有帮助..

答案 1 :(得分:1)

只需使用System.XML类来帮助您。

https://msdn.microsoft.com/pt-br/library/system.xml(v=vs.110).aspx

示例代码:

XmlDocument doc = new XmlDocument();
XmlElement el = (XmlElement)doc.AppendChild(doc.CreateElement("Foo"));
el.SetAttribute("Bar", "some & value");
el.AppendChild(doc.CreateElement("Nested")).InnerText = "data";
Console.WriteLine(doc.OuterXml);

答案 2 :(得分:0)