如何在PHP中检查它是xml文件还是json文件

Posted

技术标签:

【中文标题】如何在PHP中检查它是xml文件还是json文件【英文标题】:How to check if it is a xml file or a json file in PHP 【发布时间】:2015-12-08 00:49:22 【问题描述】:

如果 url 包含 json 文件的 xml,我如何检查 php。 所以在 $url 中保存了 url,然后它应该检查它是 xml 文件还是 json 文件。

$url = 'http://hello.asdasd/asdasd/asdasd';

if (($url == JSON) = TRUE) // how to  check it is a json file, do the follwing action

    $xml = file_get_contents($url);
    $json = json_decode($xml, true);
 
else if ($url == XML) = TRUE) // how to check it is a XML file, do the follwing action
    $xml = simplexml_load_file($url, 'SimpleXMLElement', LIBXML_NOCDATA);

任何建议都会非常重要。

【问题讨论】:

【参考方案1】:

简单的过程:

Attempt to decode it as JSON 检查错误 Attempt to load it as XML 检查错误

您已经拥有大部分代码,只需调整您的 if 语句以检查尝试解码/加载数据的结果。

此外,由于它是一个网络资源,您可以交叉检查 MIME 类型。这将需要使用 file_get_contents() 以外的其他内容。

【讨论】:

【参考方案2】:

我建议使用checking a file is valid Json.的解决方案

然后您只需检查字符串是否为 JSON,然后假定为 XML - 如果保证是其中之一!

【讨论】:

您可能不想假设它是 XML,因为它不是 JSON。 这就是为什么我说“如果它保证是一个或另一个”

以上是关于如何在PHP中检查它是xml文件还是json文件的主要内容,如果未能解决你的问题,请参考以下文章

从 json 文件(php)登录检查用户和密码。如何从json文件中读取文件

PHP学习笔记:用php读取xml文件

在 C# 中快速检查字符串是 XML 还是 JSON 的方法

如何使用 javascript/php 清除日志文件?

如何使用 PHP 安全地将 JSON 数据写入文件

JSON 与 XML 的性能注意事项