是否可以编写 .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 文件的脚本的主要内容,如果未能解决你的问题,请参考以下文章

是否可以编写脚本将源文件目录添加到 Xcode 项目中进行编译?

重新格式化 XML 文件的脚本

shell脚本中ls过滤显示问题

将 .CSV 文件转换为 .XML 的 PHP 脚本

可以查询 XML 模式集合的创建脚本吗?

通过 .htaccess 文件为所有 PHP 脚本设置 HTTP 标头