下面的代码将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();
}
} 发布于 2019-08-02 18:13:57
作为一种选择,您可以使用像HtmlAgilityPack这样的html解析器并获取一个html节点,然后使用节点的名称、属性和内部html创建一个TagBuilder:
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>发布于 2021-04-18 15:25:32
使用XmlDocument的
var doc = new System.Xml.XmlDocument();
doc.LoadXml(html);
TagBuilder tagBuilder = new TagBuilder(doc.DocumentElement.Name);
tagBuilder.MergeAttributes(doc.DocumentElement.Attributes.Cast<System.Xml.XmlAttribute>().ToDictionary(x => x.Name, x => x.Value));
tagBuilder.InnerHtml = doc.DocumentElement.InnerXml;
return tagBuilder;https://stackoverflow.com/questions/56911086
复制相似问题