编程语言
首页 > 编程语言> > c# – HtmlAgilityPack MixedCodeDocument的用途是什么?

c# – HtmlAgilityPack MixedCodeDocument的用途是什么?

作者:互联网

我正在使用HtmlAgilityPack的1.4版本,据我所知,MixedCodeDocument和相关的类可以帮助你解析asp.net和ascx文件中的asp.net标记.我发现了MixedCodeDocument类的零文档或示例.从我的尝试来看,似乎MixedCodeDocument将文件的文本分成几个分隔asp.net片段和nonasp.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>

但是没有比这更深入的解析,即a标签没有用属性或类似的东西解析成它自己的节点.

所以我最好的猜测是,期望使用MixedCodeDocument去除代码片段,以便将剩余的文本片段拼凑在一起,然后使用HtmlDocument类进行解析.

有人知道这是否正确?或者甚至更好,有没有人提供使用HAP或其他方法成功解析和操作aspx或ascx文件的方法?

解决方法:

你猜是100%正确.

MixedCodeDocument类旨在能够解析包含两种语言的文本,即经典ASP,ASP.NET等,因此名称:-)

最初,Html Agility Pack用于一个能够处理和转换各种文件的整个树的工具,包括HTML和其他类型的文件.如果您只需要替换其他文件的HTML部分,这个类可以帮助您分割代码和加价和.然后可以通过其他方式解析分离的代码和标记块.

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

标签:c,asp-net,html-agility-pack
来源: https://codeday.me/bug/20190710/1418808.html