是否可以编写 .XML 文件的脚本
Posted
技术标签:
【中文标题】是否可以编写 .XML 文件的脚本【英文标题】:is it possible to script a .XML file 【发布时间】:2009-07-24 10:36:48 【问题描述】:?
我们所追求的是在网络服务器 (IIS) 上会有一个 .XML 文件,例如www.myserver.com/update.xml
在调用时应该将其作为脚本执行而不是作为文件提供。
当 .XML 文件被调用时,它将执行一系列调用,例如进行一次 DB 行程,然后以 .XML 格式返回结果
这可能吗?
【问题讨论】:
【参考方案1】:XML 是一种数据表示,而不是一种脚本语言。
在我看来,您实际上想将 URL /update.xml
映射到底层脚本/程序(任何可执行语言),运行该程序,然后将数据作为 XML 类型返回(mime 类型 text/xml
) .这是完全可行的。
【讨论】:
【参考方案2】:为什么要称它为 .xml?如果您有一个扩展名为 .aspx 的 asp.net 页面(因此它将运行),那么您可以在其响应中返回 XML 并将其内容类型设置为 text/xml
不用说 xml 文件必须有 .xml 扩展名:)
其他网络语言可用,可以很容易地是 php 文件、Ruby、JSP 等。
此外,您还可以设置 IIS(或 Apache)以将所有 .xml 扩展文件视为 aspx 文件,但我建议您不要这样做,以便于维护。
【讨论】:
如果它具有普通页面的扩展名,某些网络分析软件会将其报告为页面点击。并不总是相关的,但应始终牢记这一点。 为什么要称它为 .xml?因为 Web 资源必须根据它产生的结果来命名,而不是根据它使用的技术来命名。除了您之外,没有人关心您的 Web 程序是用 PHP 还是 ASP 编写的。但用户可能会对结果是 PNG、XML 或 CSV 这一事实感兴趣。【参考方案3】:绝对不可能执行 XML 文件:它只是标记,仅此而已。然而,你可以想出一个解释器来执行这个 XML,但是使用 XML 作为编程语言通常是一个非常个坏主意:
<if condition="a = 5">
<invoke function="doStuff">
<parameter value="34" />
</invoke>
</if>
您所追求的行为可以通过任何服务器端脚本技术(PHP、Ruby on Rails、ASP.NET 等)实现:您只需将 Update.xml
映射到适当的处理程序,然后它就会执行你需要的一切。
【讨论】:
以上是关于是否可以编写 .XML 文件的脚本的主要内容,如果未能解决你的问题,请参考以下文章