Я использую HtmlAgilityPack версии 1.4, и, насколько я понимаю, MixedCodeDocument и связанные с ним классы существуют для того, чтобы помочь вам разобрать разметку asp.net, как в файлах aspx и ascx. Я нашел нулевую документацию или примеры для класса MixedCodeDocument. Из того, что я пробовал, кажется, что MixedCodeDocument разбивает текст файла на куски, отделяющие фрагменты asp.net от фрагментов non-asp.net. Например, следующий фрагмент:
<asp:Label ID="lbl_xyz" runat="server" Text='<%=Name%>'></asp:Label>
<a href='#'>blah</a>
будет разбит на:
// Text fragment 1
<asp:Label ID="lbl_xyz" runat="server" Text="
// Code fragment 1
<%=Name%>
// Text fragment 2 (two lines)
></asp:Label>
<a href='#'>blah</a>
Но нет более глубокого анализа, т. Е. Тег не анализируется в своем собственном узле с атрибутами или чем-то подобным.
Таким образом, я думаю, что MixedCodeDocument будет использоваться для вырезания фрагментов кода, чтобы оставшиеся фрагменты текста можно было соединить вместе, а затем проанализировать с помощью класса HtmlDocument.
Кто-нибудь знает, правильно ли это? Или, что еще лучше, есть ли у кого-нибудь советы о том, как успешно анализировать и манипулировать файлами aspx или ascx с помощью HAP или других файлов?