c# - 网络核心 : Convert String to TagBuilder

标签 c# asp.net-core .net-core asp.net-core-mvc

以下代码将 TagBuilder 转换为 String。 相反的是什么?如何将 String 反向转换为 TagBuilder? 寻找解决方案。

Convert IHtmlContent/TagBuilder to string in C#

public static string GetString(IHtmlContent content)
{
    using (var writer = new System.IO.StringWriter())
    {        
        content.WriteTo(writer, HtmlEncoder.Default);
        return writer.ToString();
    } 
}       

最佳答案

作为一个选项,您可以使用 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;
}

例如:

var html = @"<div id=""div1"" class=""class1"">Something</div>";
var tagBuilder = GetTagBuilder(html);
var str = tagBuilder.ToString();

那么 str 的值将是:

<div class="class1" id="div1">Something</div>

关于c# - 网络核心 : Convert String to TagBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56911086/

相关文章:

asp.net-core - 如何使 ASP.Net 5 应用程序能够使用类库?

c# - .NET 平台标准中有哪些平台?

c# - 如何创建自定义结果过滤器以将分页 header 添加到来自 webapi Controller 的响应

visual-studio - 包还原失败/.Net Core 安装错误

c# - ElasticSearch 索引上的自定义属性

C#:事件处理程序委托(delegate)

javascript - 格式 $.ajax 调用 asp.net mvc

c# - .NET Core Healthchecks UI 未显示

c# - .NET Core 中的短期运行后台任务

c# - Entity Framework 6 的多对多通用更新方法