【发布时间】:2009-07-24 10:36:48
【问题描述】:
是否可以编写 .XML 文件的脚本?
我们所追求的是在网络服务器 (IIS) 上会有一个 .XML 文件,例如www.myserver.com/update.xml
在调用时应该将其作为脚本执行而不是作为文件提供。
当 .XML 文件被调用时,它将执行一系列调用,例如进行一次 DB 行程,然后以 .XML 格式返回结果
这可能吗?
【问题讨论】:
标签: xml iis-6 xsd scriptable
是否可以编写 .XML 文件的脚本?
我们所追求的是在网络服务器 (IIS) 上会有一个 .XML 文件,例如www.myserver.com/update.xml
在调用时应该将其作为脚本执行而不是作为文件提供。
当 .XML 文件被调用时,它将执行一系列调用,例如进行一次 DB 行程,然后以 .XML 格式返回结果
这可能吗?
【问题讨论】:
标签: xml iis-6 xsd scriptable
XML 是一种数据表示,而不是一种脚本语言。
在我看来,您实际上想将 URL /update.xml 映射到底层脚本/程序(任何可执行语言),运行该程序,然后将数据作为 XML 类型返回(mime 类型 text/xml) .这是完全可行的。
【讨论】:
为什么要称它为 .xml?如果您有一个扩展名为 .aspx 的 asp.net 页面(因此它将运行),那么您可以在其响应中返回 XML 并将其内容类型设置为 text/xml
不用说 xml 文件必须有 .xml 扩展名:)
其他网络语言可用,可以很容易地是 PHP 文件、Ruby、JSP 等。
此外,您还可以设置 IIS(或 Apache)以将所有 .xml 扩展文件视为 aspx 文件,但我建议您不要这样做,以便于维护。
【讨论】:
绝对不可能执行 XML 文件:它只是标记,仅此而已。然而,你可以想出一个解释器来执行这个 XML,但是使用 XML 作为编程语言通常是一个非常个坏主意:
<if condition="a = 5">
<invoke function="doStuff">
<parameter value="34" />
</invoke>
</if>
您所追求的行为可以通过任何服务器端脚本技术(PHP、Ruby on Rails、ASP.NET 等)实现:您只需将 Update.xml 映射到适当的处理程序,然后它就会执行你需要的一切。
【讨论】: