【问题标题】:simplexml_load_string warningssimplexml_load_string 警告
【发布时间】:2012-10-18 13:52:16
【问题描述】:

我正在使用 php 的simplexml_load_string 函数将 xml 字符串转换为可用于未来处理的对象。

我的代码是这样的:

simplexml_load_string( $strXml, NULL, LIBXML_NOWARNING );

给出警告信息但正确执行。

好像我这样编码:

simplexml_load_string( $strXml, NULL, LIBXML_ERR_NONE );

执行服务失败。

我已经尝试过LIBXML_ERR_NONELIBXML_ERR_ERROR

有什么方法可以获取对象但没有警告消息?

【问题讨论】:

  • 从正确的 XML 文件开始而不是抑制错误不是更好吗?
  • 我和@Dirk 一起讨论这个问题:警告是什么,你为什么要压制它们?

标签: php simplexml libxml2


【解决方案1】:

这对我有用。

simplexml_load_string($strXml, 'SimpleXMLElement', LIBXML_NOWARNING | LIBXML_NOERROR);

【讨论】:

    【解决方案2】:

    您可以通过调用libxml_use_internal_errors 来抑制这些错误。

    libxml_use_internal_errors (true);
    $xml = simplexml_load_string($user_input);
    if (!$xml) {
        $xml_errors = libxml_get_errors();
        foreach ($xml_errors as $err) {
            var_dump($err);
        }
        libxml_clear_errors();
    }
    

    您可能还想查看libxml_get_errorslibxml_clear_errors

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2017-05-31
      • 1970-01-01
      • 2011-12-28
      • 2013-02-23
      • 2013-04-29
      相关资源
      最近更新 更多