XMLReader::isValid()函数是PHP中的一个内置函数,用于检查所解析的文档是否有效。如果遵循定义所有允许的元素和元素结构的DTD(文档类型定义)来编写XML,则该XML是有效的。
用法:
bool XMLReader::isValid( void )
参数:此函数不接受任何参数。
返回值:如果成功,则此函数返回TRUE;如果失败,则返回FALSE。
下面给出的程序说明了PHP中的XMLReader::isValid()函数:
程序1:
文档名称: data.xml
<?xml version="1.0"?>
<!-- DTD rules to be followed by XML-->
<!DOCTYPE html [
<!ELEMENT html (h1, p, heading, body)>
<!ELEMENT h1 (#PCDATA)>
<!ELEMENT p (#PCDATA)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<!-- XML starts from here -->
<html>
<h1>Hi</h1>
<p>World</p>
<heading>GeeksforGeeks</heading>
<body>Web Portal for Geeks</body>
</html>
文档名称: index.php
<?php
// Create a new XMLReader instance
$XMLReader = new XMLReader();
// Open the XML file
$XMLReader->open('data.xml');
// Enable the Parser Property
$XMLReader->setParserProperty(
XMLReader::VALIDATE, true);
// Iterate through the XML nodes
while ($XMLReader->read()) {
if ($XMLReader->nodeType == XMLREADER::ELEMENT) {
// Check if XML is valid or not
$isValid = $XMLReader->isValid();
if ($isValid) {
echo "YES ! this node is validated<br>";
}
}
}
?>
输出:
YES ! this node is validated YES ! this node is validated YES ! this node is validated YES ! this node is validated YES ! this node is validated
程序2:
文档名称: data.xml
<?xml version="1.0"?>
<!-- DTD rules to be followed by XML-->
<!DOCTYPE html [
<!ELEMENT html (heading, body)>
<!ELEMENT heading (#PCDATA)>
<!ELEMENT body (#PCDATA)>
]>
<!-- XML starts from here -->
<html>
<body>Web Portal for Geeks</body>
</html>
文档名称: index.php
<?php
// Create a new XMLReader instance
$XMLReader = new XMLReader();
// Open the XML file
$XMLReader->open('data.xml');
// Enable the Parser Property
$XMLReader->setParserProperty(
XMLReader::VALIDATE, true);
// Iterate through the XML nodes
while ($XMLReader->read()) {
if ($XMLReader->nodeType == XMLREADER::ELEMENT) {
// Check if XML is valid or not
$isValid = $XMLReader->isValid();
if (!$isValid) {
echo "No ! this node is not validated<br>";
}
}
}
?>
输出:
No ! this node is not validated No ! this node is not validated
参考: https://www.php.net/manual/en/xmlreader.isvalid.php
相关用法
- PHP XMLReader XML()用法及代码示例
- PHP XMLReader next()用法及代码示例
- PHP XMLReader moveToFirstAttribute()用法及代码示例
- PHP XMLReader getParserProperty()用法及代码示例
- PHP XMLReader moveToAttributeNo()用法及代码示例
- PHP XMLReader open()用法及代码示例
- PHP XMLReader getAttributeNo()用法及代码示例
- PHP XMLReader read()用法及代码示例
- PHP XMLReader close()用法及代码示例
- PHP XMLReader getAttributeNs()用法及代码示例
- PHP XMLReader expand()用法及代码示例
- PHP XMLReader readInnerXml()用法及代码示例
- PHP XMLReader setRelaxNGSchema()用法及代码示例
- PHP XMLReader setParserProperty()用法及代码示例
- PHP XMLReader readString()用法及代码示例
注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | XMLReader isValid() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。