【问题标题】:HTMLAgilityPack: C# how to add strings with tags using CreateNodeHTMLAgilityPack:C# 如何使用 CreateNode 添加带有标签的字符串
【发布时间】:2013-03-01 07:27:13
【问题描述】:

我正在尝试使用可能包含 HTML 标记(简单标记、链接或
)的数据构建 HTML 输出。

如果我使用 CreateNode 将这样的字符串添加到我的 HTML 中,则会发生一些不需要的过滤。我该如何解决这个问题?

例子:

string myText = "<strong>Intro</strong><br />Some Explanation";
node.ParentNode.ReplaceChild(HtmlNode.CreateNode(myText, node);

在我生成的 HTML 中,只输出了强文本,其余的都没有了。

【问题讨论】:

    标签: c# html-agility-pack


    【解决方案1】:

    您为什么不尝试使用 InnerHtml

    string myText = "<strong>Intro</strong><br />Some Explanation";
    node.ParentNode.InnerHtml = myText;
    

    【讨论】:

    • 这行得通,但它完全替换了完整的节点。由于我上面的例子只是一个摘录,现在对我来说还不够。但是感谢您的提示!
    • 似乎某些标签由于某种原因被遗漏了:添加表格标签很好,在粗体中添加斜体可以正常工作,但只有斜体不能,p被完全遗漏等等.会不会是所有(或大多数)格式相关的标签都被剥离了?
    • 我不这么认为。检查所有标签是否正确关闭。
    • 我的标签已正确关闭,一遍又一遍地检查:-( 奇怪的是:如果我从一个粗体部分开始,然后是一个“常规”部分,那么只有粗体部分是显示。如果我在那个粗体部分使用斜体,斜体渲染得很好......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 1970-01-01
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多