gpt4 book ai didi

c# - 在 C# 中生成 HTML 的最干净的方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 22:43:03 29 4
gpt4 key购买 nike

我正在尝试制作一个 C# 程序,该程序采用一个 XML 文件并将其转换为 HTML 文件,最明显的方法是使用 HtmlTextWriter对象,但我需要 6 行代码来编写一个标记、一个属性、一行内容和一个结束标记。有没有更清洁/更有效的方法来做到这一点?

该程序使用 XML 文件(由 XML 架构定义的格式)来自定义 HTML 模板并使用数据填充该模板。示例如下:

static string aFileName;
static XmlDocument aParser;
static HtmlTextWriter HTMLIOutput;
static StringWriter HTMLIBuffer;
static StreamWriter HTMLOutIFile;
static HtmlTextWriter HTMLEOutput;
static StringWriter HTMLEBuffer;
static StreamWriter HTMLOutEFile;

HTMLIBuffer = new StringWriter();
HTMLIOutput = new HtmlTextWriter(HTMLIBuffer);
XmlElement feed = aParser.DocumentElement;

HTMLIOutput.WriteBeginTag("em");
HTMLIOutput.WriteAttribute("class", "updated");
HTMLIOutput.Write(HtmlTextWriter.TagRightChar);
HTMLIOutput.Write("Last updated: " +
feed.SelectSingleNode("updated").InnerText.Trim());
HTMLIOutput.WriteEndTag("em");
HTMLIOutput.WriteLine();
HTMLIOutput.WriteLine("<br>");

写一些像<em class="updated">Last updated: 07/16/2018</em><br />这样的东西,我真的需要这么多不同的行来构建标签的一部分吗?

注意:是的,我可以直接将内容写入文件,但如果可能的话我更喜欢一种更智能的方式,这样可以减少人为错误。

最佳答案

您可以随时使用 Obisoft.HSharp :

    var Document = new HDoc(DocumentOptions.BasicHTML);
Document["html"]["body"].AddChild("div");
Document["html"]["body"]["div"].AddChild("a", new HProp("href", "/#"));
Document["html"]["body"]["div"].AddChild("table");
Document["html"]["body"]["div"]["table"].AddChildren(
new HTag("tr"),
new HTag("tr", "SomeText"),
new HTag("tr", new HTag("td")));
var Result = Document.GenerateHTML();
Console.WriteLine(Result);

System.Xml.Linq:

    var html = new XElement("html",
new XElement("head",
new XElement("title", "My Page")
),
new XElement("body",
"this is some text"
)
);

关于c# - 在 C# 中生成 HTML 的最干净的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51356436/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com