【问题标题】:Does it matter if my XML file has an extension other than .xml?如果我的 XML 文件具有 .xml 以外的扩展名,这有关系吗?
【发布时间】:2022-11-11 04:00:08
【问题描述】:

我正在开发一个项目,该项目将使用 XML 文件转储数据以在服务器之间共享。如果我在文件名中使用 .xml 以外的扩展名,这有关系吗?例如。 'myfile.abc' 而不是 'myfile.xml'。

客户端服务器将使用 CURL / LWP 命令读取这些文件。 MIME-TYPES 是否存在任何可能导致文件无法打开或无法读取为 XML 的问题? (它们将是符合 W3C 的 XML 文件)

原因是我们需要将这些文件与服务器上的其他 XML 文件区分开来。谢谢。

【问题讨论】:

    标签: xml file curl mime-types lwp


    【解决方案1】:

    W3C XML Recommendation 没有指定 XML 文件的名称或扩展名。

    但是,应用程序或操作系统可能依赖文件扩展名来识别文件内容类型。也不能保证任何给定的应用程序将如何解释来自文件的 MIME 类型及其文件扩展名的冲突信号。

    推荐:坚持使用 XML 文件的常规 .xml 文件扩展名。要使“文件与服务器上的其他 XML 文件区分开来”,请在基本文件名上使用合适的命名约定。

    【讨论】:

    • 这难道不是您可以将服务器配置为解释 MIME 类型的扩展的原因吗?
    • @Misunderstood:如果一个人只关心 HTTP,是的,有一些配置解决方案允许将所需的 MIME 类型归因于任何给定的扩展。我的回答解决了 OP 标题问题所提出的更广泛意义上的问题,如果我的 XML 文件具有 .xml 以外的扩展名,这有关系吗?.我认为通过在可能的情况下使用.xml 扩展名命名 XML 文件可以促进互操作性。
    • 我不同意你的看法。我想你比我知道的更多(这没什么好说的)。所以我想真正的问题是,你认为我的回答可能有什么问题。
    • @Misunderstood:你很好。如果我认为您的回答有问题,我会发表评论;大错特错,被否决。如果您正在寻找改进答案的提示,可以添加有关如何配置服务器的详细信息 - 就目前而言,它说的只是可能的。
    【解决方案2】:

    这通常适用于文件扩展名,而不仅仅是 .xml 扩展名。

    使用文件扩展名的最常见情况是:

    (a) 当您在图形文件资源管理器/查找器中双击文件时,操作系统会根据文件扩展名决定打开哪个应用程序。您可以配置从文件扩展名到应用程序的映射,因此您不必使用“.xml”,您可以使用映射到相应应用程序的任何扩展名。

    (b) 当 Web 服务器响应 HTTP 请求传递内容时,响应包含内容类型(媒体类型/MIME 类型),这通常基于文件扩展名。浏览器在决定如何显示内容时使用此信息。同样,您可以在 Web 服务器(例如 Apache)的配置文件中配置文件扩展名到媒体类型的映射。

    对特定的 XML 词汇表使用特定的文件扩展名是很正常的,例如.xsl 用于 XSLT,.xsd 用于 XML Schema。但是,如果您确保正确配置了此类扩展,则效果最佳。

    【讨论】:

    • 你的回答没有错,但不完整,我想我可以添加一些额外的有用信息。
    • 我重读了这个问题。 OP 更多的是寻找可能出错的地方,而不是如何去做。我不容易被打动。我对你的背景印象深刻。你不仅是个学者,还是个绅士。
    【解决方案3】:

    您需要将服务器配置为使用 MIME 类型 application/xmltext/xml 作为 .abc 扩展名。

    我刚刚将我的服务器配置为将 .abc 视为text/xml 文件。

    【讨论】:

    • 谢谢,但问题与客户端服务器如何在(比如说)CURL 命令中解析文件有关。我说的不够具体。将编辑问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-15
    • 2012-08-18
    • 1970-01-01
    • 2018-12-09
    • 1970-01-01
    相关资源
    最近更新 更多