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


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


XMLReader::setParserProperty()函数是PHP中的一个内置函数,用于设置解析器选项。此函数可用于验证文档。

用法:

bool XMLReader::setParserProperty( int $property, bool $value )

参数:该函数接受上述和以下描述的两个参数:



  • $property:它指定一个与解析器选项常量之一相对应的整数,如下所示:
    • XMLReader::LOADDTD(1)这将加载DTD,但不会验证。
    • XMLReader::DEFAULTATTRS(2)这将加载DTD和默认属性,但不会验证。
    • XMLReader::VALIDATE(3)这将加载DTD并在解析时进行验证。
    • XMLReader::SUBST_ENTITIES(4)这将替代实体并扩展引用。
  • $value:它指定是启用还是禁用该属性。

返回值:如果成功,此函数将返回TRUE,否则将返回FALSE。

以下示例说明了PHP中的XMLReader::setParserProperty()函数:

范例1:

  • data.xml
    <?xml version="1.0" encoding="utf-8"?> 
    <div> 
        <h1> Sample XML </h1> 
    </div>
  • index.php
    <?php 
      
    // Create a new XMLReader instance 
    $XMLReader = new XMLReader(); 
      
    // Open the XML file with sample XML 
    $XMLReader->open('data.xml'); 
      
    // Set the Parser Property 
    $XMLReader->setParserProperty(XMLReader::VALIDATE, true); 
      
    // Check if XMLReader::VALIDATE is set or not 
    $isProperty = $XMLReader->getParserProperty(XMLReader::VALIDATE); 
       
    if ($isProperty) { 
        echo 'Property is set.'; 
    } 
    ?>
  • 输出:
    Property is set.

程序2:

  • 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

参考: https://www.php.net/manual/en/xmlreader.setparserproperty.php




相关用法


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