C# HtmlAlityPack MixedCodeDocument的预期用途是什么?

C# HtmlAlityPack MixedCodeDocument的预期用途是什么?,c#,asp.net,html-agility-pack,C#,Asp.net,Html Agility Pack,我使用的是HtmlAgilityPack的1.4版,据我所知,MixedCodeDocument和相关类可以帮助您解析asp.net标记,如在aspx和ascx文件中找到的那样。我没有发现MixedCodeDocument类的文档或示例。从我尝试过的情况来看,MixedCodeDocument似乎将文件的文本分成块,将asp.net片段与非asp.net片段分开。例如,以下代码段: <asp:Label ID="lbl_xyz" runat="server" Text='<%=Nam

我使用的是HtmlAgilityPack的1.4版,据我所知,MixedCodeDocument和相关类可以帮助您解析asp.net标记,如在aspx和ascx文件中找到的那样。我没有发现MixedCodeDocument类的文档或示例。从我尝试过的情况来看,MixedCodeDocument似乎将文件的文本分成块,将asp.net片段与非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>
//文本片段1
但是没有比这更深入的解析了,也就是说,a标记没有被解析到它自己的具有属性或类似属性的节点中

因此,我的最佳猜测是,MixedCodeDocument预计将用于剥离代码片段,以便将剩余的文本片段拼凑在一起,然后使用HtmlDocument类进行解析


有人知道这是否正确吗?或者更好的是,有没有人有任何技巧可以帮助你使用HAP或其他工具成功解析和操作aspx或ascx文件?

你猜是100%正确的

MixedCodeDocument
类被设计为能够解析包含两种语言的文本,即经典ASP、ASP.NET等。因此命名:-)

最初,HTMLAgilityPack用于一个能够处理和转换各种文件(包括Html和其他类型的文件)的完整树的工具中。如果您只需要替换其他文件的HTML部分,那么这个类可以帮助您拆分代码和标记。然后,可以通过其他方式解析分离的代码和标记块

我认为今天没有人使用它:)