定义和用法
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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。