【问题标题】:HTML Agility Pack manipulating comments处理注释的 HTML 敏捷包
【发布时间】:2012-09-03 14:18:15
【问题描述】:

我正在使用 HTML Agility Pack 打开一个主 HTML 文件,然后使用基本的 StreamReaders 打开帮助文件,读取内容,并将它们放在主文件的正确 div 中。

它可以工作,但由于某种原因,一些 knockoutjs 评论绑定被搞砸了。

这是html

<select data-bind="css: { 'required': isrequired }" class="answer-single">
    <option value="">Choose</option>
    <!-- ko foreach: formquestionoptions -->
        <option data-bind="value:text, text:text"></option>
    <!-- /ko -->                              
</select>

(我已在 Visual Studio 调试器中验证。)

当它被 HTML Agility Pack 插入时,这就是它的样子,这会导致 Knockout 错误

<select data-bind="css: { 'required': isrequired }" class="answer-single">
    <option value="">Choose
    <!-- ko foreach: formquestionoptions -->
        <option data-bind="value:text, text:text">
    <!-- /ko -->                              
</select>

我应该如何告诉 HTML Agility 包...不要这样做?这是当前代码

item.Helpers.ForEach(packet =>
{
    string contents = FileWriter.getFileContents(mapPath(packet.FileName));
    doc.GetElementbyId(packet.DomId).InnerHtml = Environment.NewLine + contents + Environment.NewLine;
});

【问题讨论】:

    标签: knockout.js html-agility-pack


    【解决方案1】:

    默认情况下,HAP 会特别处理选项标签...所以要关闭此行为,这里是您需要的代码

    HtmlDocument doc = new HtmlDocument();
    HtmlNode.ElementsFlags.Remove("option");
    

    原答案here

    【讨论】:

      猜你喜欢
      • 2011-01-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-01
      • 2017-06-21
      • 1970-01-01
      相关资源
      最近更新 更多