當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。