国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PHP > 正文

php xml處理,利用 xml_parser_create解析、讀取、生成

2024-05-04 21:58:39
字體:
來源:轉載
供稿:網友

php處理xml文檔有一個xml_parser_create()函數,關于這個函數我們來看一下.

xml_parser_create() 函數創建 XML 解析器,該函數建立一個新的 XML 解析器并返回可被其它 XML 函數使用的資源句柄.

語法:xml_parser_create(encoding)

參數 描述 

encoding 可選,規定輸出編碼

實例代碼如下:

  1. <?php 
  2.      function cdata_handler ($parser$data) {  
  3.         print ($data);  
  4.      } 
  5.       
  6.      $xml = "<para>some character data</para>"
  7.      $parser = xml_parser_create (); 
  8.      xml_set_character_data_handler ($parser'cdata_handler'); 
  9.       
  10.      if (xml_parse ($parser$xml, true)) 
  11.           print ("Your XML document is well-formed."); 
  12.      else 
  13.           print ("Your XML document is not well-formed."); 
  14.      //開源代碼Vevb.com 
  15.      xml_parser_free ($parser); 
  16. ?> 

實例二,代碼如下:

  1. <?php 
  2.      $i = 1; 
  3.      function default_handler ($p$data
  4.      { 
  5.           global $i
  6.           print ("$i: default: $datan"); 
  7.           $i++; 
  8.      } 
  9.       
  10.      function cdata_handler ($p$data
  11.      { 
  12.           global $i
  13.           print ("$i: cdata: $datan"); 
  14.           $i++; 
  15.      } 
  16.      $xml = "<foo>bar</foo><?exec command ?>"
  17.       
  18.      $p = xml_parser_create (); 
  19.      xml_set_default_handler ($p'default_handler'); 
  20.      xml_set_character_data_handler ($p'cdata_handler'); 
  21.       
  22.      if (!xml_parse ($p$xml, true)){ 
  23.           die (sprintf ("<br />Parse error in <code>%s</code> (%s)"
  24.                         htmlspecialchars ($xml), 
  25.                         xml_error_string (xml_get_error_code ($p)))); 
  26.      } 
  27.      xml_parser_free ($p); 
  28. ?> 

實例三代碼如下:

  1. <?php 
  2.      function pi_handler ($p$target$data) { 
  3.         print ($target); 
  4.         print ($data); 
  5.      } 
  6.  
  7.      $xml = "<?exec ls -l /var?><rootElement/>"
  8.      $p = xml_parser_create (); 
  9.      xml_set_processing_instruction_handler ($p'pi_handler'); 
  10.      if (!xml_parse ($p$xml, true)) 
  11.           die (sprintf ("Parse error in <code>%s</code> (%s)"
  12.                         htmlspecialchars ($xml), 
  13.                         xml_error_string (xml_get_error_code ($p)))); 
  14.      else 
  15.           print ("XML processing complete.n"); 
  16.      xml_parser_free ($p); 
  17. ?> 

說明:可選參數 encoding 在 PHP 4 中用來指定要被解析的 XML 輸入的字符編碼方式.

PHP 5 開始,自動偵測輸入的 XML 的編碼,因此 encoding 參數僅用來指定解析后輸出數據的編碼.

在 PHP 4 中,默認輸出的編碼與輸入數據的編碼是相同的,如果傳遞了空字符串,解析器會嘗試搜索頭 3 或 4 個字節以確定文檔的編碼.

在 PHP 5.0.0 和 5.0.1 中,默認輸出的字符編碼是 ISO-8859-1,而 PHP 5.0.2 及以上版本是 UTF-8,解析器支持的編碼有 ISO-8859-1, UTF-8 和 US-ASCII.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥滨县| 金坛市| 江山市| 昌平区| 航空| 蛟河市| 临高县| 罗田县| 资兴市| 黔西县| 威宁| 广水市| 黄骅市| 临江市| 天台县| 荃湾区| 阿勒泰市| 江永县| 旬邑县| 德安县| 通道| 安仁县| 东乡族自治县| 怀来县| 奉新县| 郁南县| 金昌市| 嘉义市| 昌江| 大化| 大荔县| 随州市| 张家口市| 称多县| 石门县| 平舆县| 彩票| 刚察县| 呈贡县| 连州市| 呈贡县|