函式名:libxml_get_errors()
適用版本:PHP 5, PHP 7
函式說明:libxml_get_errors() 函式獲取當前文件中的所有 XML 錯誤,並以陣列的形式返回這些錯誤。
語法:libxml_get_errors(): array
返回值:返回一個包含 XML 錯誤的陣列,或者在沒有錯誤發生時返回空陣列。
示例:
<?php
// 建立一個包含錯誤的 XML 文件
$xml = "<root><element1>value1</element1><element2>value2</element2>";
// 禁用錯誤報告
libxml_use_internal_errors(true);
// 使用 SimpleXML 解析 XML 文件
$sxe = simplexml_load_string($xml);
// 獲取所有的 XML 錯誤
$errors = libxml_get_errors();
// 遍歷錯誤陣列並輸出每個錯誤的訊息
foreach ($errors as $error) {
echo "錯誤級別: " . $error->level . "<br>";
echo "錯誤訊息: " . $error->message . "<br>";
echo "錯誤行號: " . $error->line . "<br>";
echo "錯誤列號: " . $error->column . "<br><br>";
}
// 清除錯誤緩衝區
libxml_clear_errors();
?>
以上示例中,我們首先建立了一個包含錯誤的 XML 文件。然後,我們使用 libxml_use_internal_errors() 函式禁用錯誤報告,以便能夠獲取錯誤資訊而不是直接丟擲異常。接下來,我們使用 simplexml_load_string() 函式解析 XML 文件,並使用 libxml_get_errors() 函式獲取所有的 XML 錯誤。最後,我們遍歷錯誤陣列,並輸出每個錯誤的級別、訊息、行號和列號。
請注意,在使用完 libxml_get_errors() 函式後,應該使用 libxml_clear_errors() 函式清除錯誤緩衝區,以便下一次使用該函式時不會返回之前的錯誤。