gpt4 book ai didi

PHP simplexml_load_file 案例返回 false

转载 作者:行者123 更新时间:2023-12-05 00:41:27 24 4
gpt4 key购买 nike

我使用 phpunit(100% 覆盖)为我的 PHP 应用程序进行单元测试,我有这个:

$xml = simplexml_load_string($soapResponse); 
if (false === $xml) {
throw new \Exception('invalid XML');
}

我没有找到 simplexml_load_string return false 的测试用例。

如果您有解决方案...谢谢

最佳答案

正如 John C 所指出的,无效的 xml 将导致 simplexml_load_string 返回 false 并生成警告。此外,您可能希望禁用这些警告并存储它们。为此,您可以使用 libxml_use_internal_errors 和 libxml_get_errors。

<?php
$soapResponse = 'invalid_xml';
libxml_use_internal_errors(true);
$xml = simplexml_load_string($soapResponse);
if (false === $xml) {
$errors = libxml_get_errors();
echo 'Errors are '.var_export($errors, true);
throw new \Exception('invalid XML');
}

所以输出是:

array (
0 =>
LibXMLError::__set_state(array(
'level' => 3,
'code' => 4,
'column' => 1,
'message' => 'Start tag expected, \'<\' not found
',
'file' => '',
'line' => 1,
)),
)

这可以帮助您识别 XML 中的问题部分。这在 XML 很大时非常有用。

关于PHP simplexml_load_file 案例返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34651037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com