xml_parse()函数是PHP中的内置函数,用于解析XML文档。
用法:
int xml_parse( resource $xml_parser, string $xml_data, bool $is_final )
参数:此函数接受上述和以下所述的三个参数:
- $xml_parser:它是必填参数。它指定要使用的XML解析器。
 - $xml_data:它是必填参数。它指定要解析的数据。
 - $is_final:它是可选参数。如果此参数的值设置为True,则数据是此解析中发送的最后一条数据。
 
返回值:如果成功,则此函数返回True;如果失败,则返回False。
注意:
- 此函数可用于PHP 4.0.0和更高版本。
 - 这些示例可能不适用于在线IDE。因此,请尝试在本地服务器或php托管服务器上运行它。
 
gfg.xml文件:
<?xml version="1.0" encoding="utf-8"?> 
<user> 
    <username>user123</username> 
    <name>firstname lastname</name> 
    <phone>+91-9876543210</phone> 
    <detail>I am John Doe. Live in Kolkata, India.</detail> 
</user>程序1:
<?php 
  
// Create an XML parser 
$parser = xml_parser_create(); 
   
// Set the character handler function 
// for the XML parser 
xml_set_character_data_handler($parser, "char_print"); 
   
// Opening xml file 
$filePointer = fopen("gfg.xml", "r"); 
   
// Reading xml data from file 
while ($data = fread($filePointer, 4096)) { 
   
    // Parseing XML data 
    xml_parse($parser, $data, feof($filePointer)) or
      
        // Display error when parse error occurs 
        die (sprintf("XML Error: %s at line %d", 
          
        // Error string 
        xml_error_string(xml_get_error_code($parser)), 
          
        // Current line         
        xml_get_current_line_number($parser))); 
} 
      
// Freeing xml parser 
xml_parser_free($parser); 
      
fclose($filePointer); 
   
// Character handler function for XML parser 
function char_print($parser, $data) { 
    echo $data; 
} 
   
?>输出:
user123 firstname lastname +91-9876543210 I am John Doe. Live in Kolkata, India.
程序2:
<?php 
  
// Create an xml parser 
$xml_parser = xml_parser_create(); 
  
// Element handler function named "starting_handler" 
// enables custom manupulation for output 
function starting_handler($xml_parser,  
            $element_name, $element_attrs) { 
      
    switch($element_name) { 
        case "USER": 
            echo "<u>USER DATA</u><br>"; 
            break; 
        case "USERNAME": 
            echo "Username: "; 
            break; 
        case "NAME": 
            echo "Name: "; 
            break; 
        case "PHONE": 
            echo "Phone no: "; 
            break; 
        case "DETAIL": 
            echo "More about user: "; 
    } 
} 
  
// Element handler function named "ending_handler" 
function ending_handler($xml_parser, $element_name) { 
    echo "<br>"; 
} 
  
// Character handler function named "char_handler" 
function char_handler($xml_parser, $xml_data) { 
    echo $xml_data; 
} 
  
// Setting element handlers 
xml_set_element_handler($xml_parser, 
                "starting_handler", "ending_handler"); 
  
// Setting character data handler 
xml_set_character_data_handler($xml_parser, "char_handler"); 
  
// Opening xml file 
$file_pointer = fopen("gfg.xml", "r"); 
  
// Reading xml file  
while ($xml_data = fread($file_pointer, 4096)) { 
   
    xml_parse($xml_parser, $xml_data, feof($file_pointer)) or
      
    // Display error while xml parsing     
    die (sprintf("XML Error: %s at line %d", 
          
        // Error string 
        xml_error_string(xml_get_error_code($xml_parser)), 
      
        // Error line number 
        xml_get_current_line_number($xml_parser))); 
} 
  
// Free xml parser 
xml_parser_free($xml_parser); 
  
// Closing file stream 
fclose($file_pointer); 
  
?>输出:
USER DATA Username: user123 Name: firstname lastname Phone no: +91-9876543210 More about user: I am John Doe. Live in Kolkata, India.
参考: https://www.php.net/manual/en/function.xml-parse.php
相关用法
- p5.js sq()用法及代码示例
 - d3.js d3.map.has()用法及代码示例
 - PHP next()用法及代码示例
 - p5.js day()用法及代码示例
 - p5.js pow()用法及代码示例
 - CSS var()用法及代码示例
 - d3.js d3.map.set()用法及代码示例
 - PHP pow( )用法及代码示例
 - PHP pi( )用法及代码示例
 - PHP Ds\Map get()用法及代码示例
 - PHP Ds\Map put()用法及代码示例
 - p5.js str()用法及代码示例
 
注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 PHP | xml_parse() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
