我有HTML敏捷包修改了umbraco CMS中的一些html,但是umbraco使用了一些非标准的html-oid(见下文)
问题出在html敏捷包用一个问号替换结束斜杠之后。
html敏捷包之前的宏标记:
<?UMBRACO_MACRO macroAlias="RandomMacroTest" />
html敏捷包之后的宏标记:
<?umbraco_macro macroalias="RandomMacroTest"?>
我有什么线索可以解决这个问题?告诉Html Agility包忽略这个标签?我看了它的各种选项,似乎都没有适用。
最后的手段:返回并使用正则表达式替换重新修复宏标记,但这看起来有点乱。
答案 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" />