我在c#类库(.dll)中写了一个非常简单的类。此代码创建一个html文件并将其返回到字符串。
代替:<p>NUMBER</p>
我想更改它并从此方法中添加int数。
public class Class1
{
public string HTMLTable(int number)
{
string html = "<p>NUMBER</p>";
var xDocument = new XDocument(
new XDocumentType("html", null, null, null),
new XElement("html",
new XElement("head"),
new XElement("body",
XElement.Parse(html))
)
)
)
);
var settings = new XmlWriterSettings
{
OmitXmlDeclaration = true,
Indent = true,
IndentChars = "\t"
};
using (var sw = new StringWriter())
{
using (var writer = XmlWriter.Create(sw, settings))
{
xDocument.WriteTo(writer);
}
return sw.ToString();
}
}
}
答案 0 :(得分:2)
您可以使用字符串插值。
var html = $"<p>{number}</p>";
更新:或者对于不想使用更好的字符串插值的人建议,你可以这样做:
var html = string.Format("<p>{0}</p>", number);
答案 1 :(得分:0)
你想要那样的东西;
string.Format("<p>{0}</p>", number);
另外,我建议您使用HtmlAgilityPack
来解析和处理HTML。这是一个非常强大的库。您可以在Nuget上找到它。
答案 2 :(得分:0)
如果你有更多的部分需要改变,那么RazorEngine
就是一个不错的选择using RazorEngine;
using RazorEngine.Templating; // For extension methods.
var template = "<html><body>Hello @Model.Number, welcome to RazorEngine!</body></html>";
var result = Engine.Razor.RunCompile(template, "templateKey", null, new { Number = 10 });
<强>的NuGet 强>
PM> Install-Package RazorEngine -Version 3.10.0