📜  PHP | XMLReader setSchema()函数

📅  最后修改于: 2022-05-13 01:56:49.668000             🧑  作者: Mango

PHP | XMLReader setSchema()函数

XMLReader::setSchema()函数是PHP中的一个内置函数,用于使用 XSD 模式验证文档。这个 XSD 模式只不过是一个定义 XML 结构规则的文件,应该是 .xsd 文件的形式。

句法:

bool XMLReader::setSchema( string $filename )

参数:此函数接受一个包含 XSD 文件名的参数$ filename。

返回值:此函数在成功时返回 TRUE,在失败时返回 FALSE。

例外:如果 libxml 扩展在没有架构支持的情况下编译,此函数将引发 E_WARNING。

下面的示例说明了PHP中的XMLReader::setSchema()函数

示例 1:

  • data.xml (要验证的 XML 文件)
    
    
        Rahul
        1726262
    
    
  • rule.xsd (XML 文件要遵循的规则)
    
    
        
            
                
                    
                    
                
            
        
    
    
  • 指数。 PHP (运行验证的PHP脚本)
    open('data.xml');
      
    // Load the rule
    $XMLReader->setSchema('rule.xsd');
      
    // Iterate through the XML nodes
    while ($XMLReader->read()) {
        if ($XMLReader->nodeType == XMLREADER::ELEMENT) {
      
            // Check if XML follows the XSD rule
            if ($XMLReader->isValid()) {
                echo "This document is valid!
    ";         }        } } ?>
  • 输出:
    This document is valid!
    This document is valid!
    This document is valid!

示例 2:

  • 数据.xml
    
    
        This should not be text
  • 规则.xsd
    
    
        
            
                
                    
                
            
        
    
    
  • 指数。 PHP
    open('data.xml');
      
    // Load the rule
    $XMLReader->setSchema('rule.xsd');
      
    // Iterate through the XML nodes
    while ($XMLReader->read()) {
        if ($XMLReader->nodeType == XMLREADER::ELEMENT) {
      
            // Check if XML follows the XSD rule
            if (!$XMLReader->isValid()) {
                echo "This document is not valid!
    ";         }        } } ?>
  • 输出:
    This document is not valid!
    This document is not valid!

参考: https://www. PHP.net/manual/en/xmlreader.setschema。 PHP