2012-08-24 33 views
0

假设我有一个包含文件:如何加载动态生成的XML文件?

<% 
    Response.write("<my_tag>value</my_tag>") 
%> 

如果我把它作为一个普通的XML文件,我得到一个错误,告诉我说,XML有不正确的格式,因为它开始由“<%”。我怎样才能读取这个动态生成的XML?

编辑:

事实上,这是一种错觉。 Server.Execute方法只是打印另一个文件。我能做什么 ?我怎么能把一个ASP页面的结果放在一个我可以通过loadXML方法读取的字符串中?或者我怎么能在加载之前处理文件?

+0

菲尔,这不是一个XML文件。 – FJT

+0

这是一个ASP文件输出一些类似XML的标签。您的标题建议您要加载此文件。如何,按什么?将其加载到服务器上的ASP代码中,或者将其加载到浏览器中? –

+0

@Diodeus:从另一个ASP文件加载它。 – user1553136

回答

0

给它一个ASP知道要处理的文件扩展名,或者告诉ASP处理你正在使用的文件扩展名。服务器必须知道处理文件并为您提供动态结果。它不会将每个文件都视为传统的ASP文件,您必须告诉它如何处理文件,就好像您使用的是ASP的非标准扩展。您可以通过将传统ASP处理程序映射到您尝试HTTP GET的文件类型来完成此操作。

+0

扩展名为.asp,并且该文件未由服务器处理。有没有一个ASP命令来强制它? – user1553136

+0

是的!它适用于我使用“Server.Execute”! – user1553136

+0

Oups!忘记我的样子。见下文。 – user1553136

0

使用扩展名为.asp,并设置内容类型:

<% 
Response.CharSet = "utf-8" 
Response.Buffer = True 
Response.ContentType="text/xml" 

Response.Write "<?xml version=""1.0"" encoding=""utf-8""?>" 
Response.Write "<my_tag>value</my_tag>" 

Response.Flush 
%> 

你可以看看这里:http://www.w3.org/TR/REC-xml/

+0

服务器无论如何都不处理该文件。这导致“一个名字从一个无效字符开始”。错误。 – user1553136