繁体   English   中英

将aspx文件加载到xmldocument中

[英]load aspx file into xmldocument

我希望能够将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,否则它很可能也不会加载。

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

XmlDocument表示Xml,因此如果您尝试加载aspx,它将抛出错误,抱怨无效的xml

但是如果来自.aspx的响应是例如"<?xml..... ><Employee>dotNetMan</Employee>"作为字符串那么是的它会起作用

您必须将content-type设置为text/xml

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM