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

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


我收到以下错误:

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

最佳答案

您收到该错误的原因:


  名称不能以'%'字符(十六进制值0x25)开头。第1行,位置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/

10-14 10:53