加载aspx文件到的XmlDocument(load aspx file into xmldocum

2019-10-16 23:27发布

我希望能够到aspx页面加载到XmlDocument的变量。 我怎么做? 下面是我曾尝试和期待.xml文件,而不是.aspx页。 有什么办法转换上飞aspx页面转换成XML文件并加载它? 谢谢

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

我得到以下错误:

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

Answer 1:

原因你得到的错误:

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

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

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

<%@%>不是有效的XML这就是为什么你不能加载的原始ASPX页面。

现在,即使你要去掉这些指令,有一个相当不错的机会,除非你已经非常非常严格,所有的页面上的标记是XHTML,那么将不会加载任何。

您可能需要使用尝试加载网页(有或没有指令) HTML敏捷性包可通过的NuGet下载。



Answer 2:

XmlDocument的代表的Xml因此,如果您尝试加载一个aspx它会引发错误抱怨不是有效的XML

但是,如果从未来的.aspx的响应是如"<?xml..... ><Employee>dotNetMan</Employee>"的字符串,然后是的,它会工作

您必须设置内容类型text/xml

这里是一个很好的例子,如何从ASPX返回XML http://www.benhblog.com/2008/07/returning-xml-from-aspx-page.html



文章来源: load aspx file into xmldocument