当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP XMLReader isValid()用法及代码示例


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




相关用法


注:本文由纯净天空筛选整理自gurrrung大神的英文原创作品 PHP | XMLReader isValid() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。