c# - 将 aspx 文件加载到 xmldocument 中

标签 c# asp.net xml xmldocument

我希望能够将 aspx 页面加载到 XmlDocument 变量中。我怎么做?这是我尝试过的,它期望 .xml 文件而不是 .aspx 页面。有没有办法将aspx页面即时转换为xml文档并加载它?谢谢

string filePath = @"C:\WebApplication1\webform4.aspx";
XmlDocument document = new XmlDocument();
document.Load(filePath);

我收到以下错误:

名称不能以“%”字符开头,十六进制值 0x25。第 1 行,位置 2。

最佳答案

您收到该错误的原因:

Name cannot begin with the '%' character, hexadecimal value 0x25. Line 1, position 2.

是因为.aspx页面通常不是有效的 XML。 ASP.NET .aspx页面包含指令,例如:

<%@ Page Language="C#" [possibly other stuff] %>

<%@%>不是有效的 XML,这就是您无法加载原始 ASPX 页面的原因。

现在,即使您要删除这些指令,也很有可能除非您非常非常严格并且页面上的所有标记都是 XHTML,否则也不会加载。

您可能想尝试使用 HTML Agility Pack 加载页面(带或不带指令)可以通过 NuGet 下载。

关于c# - 将 aspx 文件加载到 xmldocument 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11443441/

相关文章:

c# - 正文加载事件执行后在 WinForms WebBrowser 中获取 HTML 正文内容

c# - Paypal 集成时出错

asp.net - MVC 中页面不存在

xml - XSLT 2.0 转换的文本输出中存在过多空格

xml - Vim - 删除 XML 注释

java - 这个 Java 枚举的使用/设计是否正确?

c# - 无法初始化集合但 nhibernate 生成正确的 sql 并在 sql server 中无错误地执行

c# - 在没有 ThrowIfCancellationRequested 的情况下停止任务

时间:2019-03-17 标签:c#profilingaspxpageloadtime

xml - 在 XML 中,如何/为什么可以在定义 namespace 之前使用它?