8 c# asp.net-core-mvc .net-core asp.net-core
以下代码将转换TagBuilder为String。恰恰相反?如何将a反转String为a TagBuilder?寻找解决方案。
将IHtmlContent / TagBuilder转换为C#中的字符串
public static string GetString(IHtmlContent content)
{
using (var writer = new System.IO.StringWriter())
{
content.WriteTo(writer, HtmlEncoder.Default);
return writer.ToString();
}
}
Run Code Online (Sandbox Code Playgroud)
作为一种选择,您可以使用html解析器,例如,HtmlAgilityPack并获取html节点,然后创建TagBuilder使用节点的名称,属性和内部html:
public TagBuilder GetTagBuilder(string html)
{
var node = HtmlAgilityPack.HtmlNode.CreateNode(html);
var tagBuilder = new TagBuilder(node.Name);
tagBuilder.MergeAttributes(node.Attributes.ToDictionary(x => x.Name, x => x.Value));
tagBuilder.InnerHtml = node.InnerHtml;
return tagBuilder;
}
Run Code Online (Sandbox Code Playgroud)
例如:
var html = @"<div id=""div1"" class=""class1"">Something</div>";
var tagBuilder = GetTagBuilder(html);
var str = tagBuilder.ToString();
Run Code Online (Sandbox Code Playgroud)
那么该str值将是:
<div class="class1" id="div1">Something</div>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
292 次 |
| 最近记录: |