我可以告诉HTML agility pack不修复某些类型的无效标记吗?

时间:2011-10-12 20:42:01

标签: umbraco html-agility-pack

我有HTML敏捷包修改了umbraco CMS中的一些html,但是umbraco使用了一些非标准的html-oid(见下文)

问题出在html敏捷包用一个问号替换结束斜杠之后。

html敏捷包之前的

宏标记:

<?UMBRACO_MACRO macroAlias="RandomMacroTest" />
html敏捷包之后的

宏标记:

<?umbraco_macro macroalias="RandomMacroTest"?>

我有什么线索可以解决这个问题?告诉Html Agility包忽略这个标签?我看了它的各种选项,似乎都没有适用。

最后的手段:返回并使用正则表达式替换重新修复宏标记,但这看起来有点乱。

1 个答案:

答案 0 :(得分:0)

在文档上启用OptionWriteEmptyNodes选项。它应该保留该标签。

var htmlStr = @"<?UMBRACO_MACRO macroAlias=""RandomMacroTest"" />";
var doc = new HtmlDocument
{
    OptionOutputOriginalCase = true,
    OptionWriteEmptyNodes = true,
};
doc.LoadHtml(htmlStr);
doc.Save(Console.Out);

您将获得输出:

<?UMBRACO_MACRO macroalias="RandomMacroTest" />