#umbraco #html-agility-pack
#umbraco #html-agility-pack
Вопрос:
У меня есть HTML agility pack, изменяющий часть моего HTML-кода в umbraco CMS, однако umbraco использует некоторые нестандартные html-oid (см. Ниже)
Проблема заключается в том, что после того, как html agility pack заменяет закрывающую косую черту вопросительным знаком.
тег макроса перед html agility pack:
<?UMBRACO_MACRO macroAlias="RandomMacroTest" />
тег макроса после html agility pack:
<?umbraco_macro macroalias="RandomMacroTest"?>
Есть какие-либо подсказки, как я мог бы обойти это? Скажите Html Agility pack игнорировать этот тег? Я просмотрел различные варианты, и ни один из них, похоже, не применим.
Последнее средство: вернуться назад и повторно исправить теги макросов с помощью замены регулярного выражения, но это кажется немного запутанным.
Ответ №1:
Включите 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" />
Комментарии:
1. Хотя я не уверен, что делать с оболочкой атрибута.