HTML Agility Pack меняет тег </ p> на<p>при неверной разметке
С вводом:
<head><title>Title</title></head>
<font face="Verdana" size="2">
<p>
<b>Bold sentence.</b>
<br><br>Sentence after two breaks.<br><br>Sentence after another two breaks. <b><i>bold and italicized sentence.</i></b> sentence. <br><br>final sentence after two more breaks.
</font></p>
<form><center><div style='padding-left: 16px; padding-right: 16px;'><a class='button' href='javascript:void(0);' onclick='javascript:window.close()'><img src='/GBUIAssets/Web20/img/frame/buttonshade.png' alt='buttonShade' /><span class='roundLeft'><span class='roundRight'>Fermer</span></span></a></div></center></form></font>
Я удаляю голову, шрифт и форму. И вывод, который я получаю:
<p>
<b>Bold sentence.</b>
<br><br>Sentence after two breaks.<br><br>Sentence after another two breaks. <b><i>bold and italicized sentence.</i></b> sentence. <br><br>final sentence after two more breaks.
<p>
Это проблематично, потому что я пытаюсь преобразовать его в xml после, и это вызовет ошибку. Почему это "исправление" части моего кода, которая уже действительна? Есть идеи, что может быть причиной? Я могу предоставить больше кода, если это необходимо, но я просто хочу убедиться, что нет очевидного шага, который я пропускаю.
РЕДАКТИРОВАТЬ: ради полного контекста, я убираю HTML для его содержания тела. Поймай, этот HTML HIDEOUS. Действительно плохо отформатированный. Я загружаю его в XML, чтобы выбросить конкретные ошибки, которые не так с HTML-документа, и выкладываю это в отчет об ошибках для каждого файла, который не удалось удалить
2 ответа
Marpup является недействительным. Попробуйте поместить тег шрифта в сторону тега P, и все будет в порядке.
Обновите вашу разметку до:
<head>
<title>Title</title>
</head>
<font face="Verdana" size="2">
<p>
<b>Bold sentence.</b>
<br/><br/>Sentence after two breaks.<br/><br/>Sentence after another two breaks. <b><i>bold and italicized sentence.</i></b> sentence. <br/><br/>final sentence after two more breaks.
</p>
<form>
<center>
<div style='padding-left: 16px; padding-right: 16px;'>
<a class='button' href='javascript:void(0);' onclick='javascript:window.close()'>
<img src='/GBUIAssets/Web20/img/frame/buttonshade.png' alt='buttonShade' />
<span class='roundLeft'><span class='roundRight'>Fermer</span></span>
</a>
</div>
</center>
</form>
</font>
Если возможно, я бы рекомендовал переместить <font>
объявление во внешнюю таблицу стилей, например
body { font-face: Verdana; }