定義和用法
XML 是一種 mark-up 語言,用於在網絡上共享數據,XML 用於人類 read-able 和機器 read-able。 libXMLError 類包含由 libxml 庫拋出的錯誤。
這個libxml_get_errors()函數用於檢索 XML 字符串或文檔中的錯誤。
用法
SimpleXMLElement::libxml_get_errors();
參數
該函數不接受任何參數。
返回值
此函數返回一個 LibXMLError 類型的對象數組,每個對象代表給定 XML 文件/字符串中的一個數組。
如果指定的 XML 中沒有錯誤,此函數將返回一個空字符串。
PHP版本
這個函數最初是在 PHP 版本 5 中引入的,並且適用於所有後續版本。
示例
下麵的例子演示了 libxml_get_errors() 函數的用法。
<html>
<head>
<body>
<?php
libxml_use_internal_errors(true);
$str = "<Data xmlns:ns='http://test.com/data'>
<Employee>
<ns:Name>Krishna</ns:Name>
<Age>30</Age>
<City>Hyderabad</City>
</Employee>
<Employee>
<ns:Name>Ramu</ns:Name>
<Age>25</Age>
<City>Delhi</test>
</Employee>
</Data> ";
$doc = simplexml_load_string($str);
if ($doc === false) {
$errors = libxml_get_errors();
print("Errors:");
print_r($errors);
echo "<br><br>";
}
?>
</body>
</head>
</html>
這將產生以下結果 -
Errors:Array ( [0] => LibXMLError Object ( [level] => 3 [code] => 76 [column] => 30 [message] => Opening and ending tag mismatch:Employee line 2 and Employee [file] => [line] => 6 ) [1] => LibXMLError Object ( [level] => 3 [code] => 76 [column] => 31 [message] => Opening and ending tag mismatch:City line 2 and test [file] => [line] => 11 ) )
示例
以下是此函數的示例 -
data.xml:
<Tutorials>
<Tutorial>
<Name>JavaFX</Name>
<Pages>535</Pages>
<Author>Krishna</Author>
<Version>11<Version>
</Tutorial>
<Tutorial>
<Name>CoffeeScript</Name>
<Pages>235</Pages>
<Author>Kasyap</test>
<Version>2.5.1</Version>
</Tutorial>
<Tutorial>
<Name>OpenCV</Name>
<Pages>150</Pages>
<Author>Maruti</Author>
<Version></Version>
</Tutorial>
</Tutorials>
Sample.html
<html>
<head>
<body>
<?php
libxml_use_internal_errors(true);
$xml = simplexml_load_file("data.xml");
if ($xml === false) {
$errors = libxml_get_errors();
print("Errors:");
foreach($errors as $ele) {
print_r($ele);
echo "<br><br>";
}
}
?>
</body>
</head>
</html>
這將產生以下輸出 -
Errors:LibXMLError Object ( [level] => 3 [code] => 76 [column] => 15 [message] => Opening and ending tag mismatch:Version line 7 and Tutorial [file] => trail.xml [line] => 8 ) LibXMLError Object ( [level] => 3 [code] => 76 [column] => 28 [message] => Opening and ending tag mismatch:Author line 7 and test [file] => trail.xml [line] => 13 ) LibXMLError Object ( [level] => 3 [code] => 76 [column] => 13 [message] => Opening and ending tag mismatch:Version line 7 and Tutorials [file] => trail.xml [line] => 23 ) LibXMLError Object ( [level] => 3 [code] => 74 [column] => 13 [message] => EndTag:' trail.xml [line] => 23 )
相關用法
- PHP libxml_get_errors()用法及代碼示例
- PHP libxml_use_internal_errors()用法及代碼示例
- PHP libxml_set_streams_context()用法及代碼示例
- PHP libxml_set_external_entity_loader()用法及代碼示例
- PHP list()用法及代碼示例
- PHP link( )用法及代碼示例
- PHP localeconv()用法及代碼示例
- PHP log10()用法及代碼示例
- PHP ltrim()用法及代碼示例
- PHP lstat()用法及代碼示例
- PHP lchown()用法及代碼示例
- PHP long2ip()用法及代碼示例
- PHP lcg_value()用法及代碼示例
- PHP lstat( )用法及代碼示例
- PHP lchgrp()用法及代碼示例
- PHP lcfirst()用法及代碼示例
注:本文由純淨天空篩選整理自 PHP libxml_get_errors() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。