我希望能够到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敏捷性包可通过的NuGet下载。
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