php 使用expat方式解析xml文件操作示例
本文實例講述了php 使用expat方式解析xml文件操作。分享給大家供大家參考,具體如下:
test.xml:
<?xml version="1.0" encoding="UTF-8"?> <notes> <note> <to>George</to> <from>John</from> <heading>Reminder</heading> <body>Don't forget the meeting!</body> </note> <note> <to>George2</to> <from>John2</from> <heading>Reminder2</heading> <body>Don't forget the meeting!2</body> </note> <instances> <instance st="192.168.234.121" /> <instance st="192.168.234.28" /> </instances> </notes>
PHP文件:
<?php // Initialize the XML parser $parser = xml_parser_create(); // Function to use at the start of an element function start($parser, $element_name, $element_attrs) { switch ($element_name) { case "NOTE": echo "-- Note --<br />"; break; case "TO": echo "To: "; break; case "FROM": echo "From: "; break; case "HEADING": echo "Heading: "; break; case "BODY": echo "Message: "; } } // Function to use at the end of an element function stop($parser, $element_name) { echo "<br />"; } // Function to use when finding character data function char($parser, $data) { echo $data; } // Specify element handler xml_set_element_handler($parser, "start", "stop"); // Specify data handler xml_set_character_data_handler($parser, "char"); // Open XML file // $fp = fopen("test.xml", "r"); // Read data // while ($data = fread($fp, 10)) { // xml_parse($parser, $data, feof($fp)) or die(sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); // } // fclose($fp); $data = file_get_contents("test.xml"); xml_parse($parser, $data) or die(sprintf("XML Error: %s at line %d", xml_error_string(xml_get_error_code($parser)), xml_get_current_line_number($parser))); // Free the XML parser xml_parser_free($parser); ?>
運行結果:
-- Note --
To: George
From: John
Heading: Reminder
Message: Don't forget the meeting!-- Note --
To: George2
From: John2
Heading: Reminder2
Message: Don't forget the meeting!2
PS:這里再為大家提供幾款關于xml操作的在線工具供大家參考使用:
在線XML/JSON互相轉換工具:
http://tools.jb51.net/code/xmljson
在線格式化XML/在線壓縮XML:
http://tools.jb51.net/code/xmlformat
XML在線壓縮/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代碼在線格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多關于PHP相關內容感興趣的讀者可查看本站專題:《PHP針對XML文件操作技巧總結》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php面向對象程序設計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
上一篇:在phpstudy集成環(huán)境下的nginx服務器下配置url重寫
欄 目:PHP編程
下一篇:php 實現(xiàn)簡單的登錄功能示例【基于thinkPHP框架】
本文地址:http://mengdiqiu.com.cn/a1/PHPbiancheng/11081.html
您可能感興趣的文章
- 04-02關于txt數(shù)據(jù)庫php的信息
- 04-02php本站才可以請求數(shù)據(jù) php本地數(shù)據(jù)庫
- 04-02網(wǎng)頁里php操作數(shù)據(jù)庫 php網(wǎng)頁例子
- 04-02php打印請求數(shù)據(jù) php打印輸出結果
- 04-02php數(shù)據(jù)庫地址 phpstudy 數(shù)據(jù)庫
- 04-02php插入數(shù)據(jù)庫為亂碼 php連接數(shù)據(jù)庫亂碼
- 04-02php數(shù)據(jù)庫數(shù)據(jù)相加 php數(shù)據(jù)庫添加數(shù)據(jù)語句
- 04-02php數(shù)據(jù)庫輸入變量 php里輸出數(shù)據(jù)庫數(shù)據(jù)函數(shù)
- 04-02數(shù)據(jù)權限架構思路php 數(shù)據(jù)權限設計方案
- 04-02php如何用導入數(shù)據(jù) php用來導入其他文件的語句


閱讀排行
本欄相關
- 04-02php本站才可以請求數(shù)據(jù) php本地數(shù)據(jù)庫
- 04-02關于txt數(shù)據(jù)庫php的信息
- 04-02php打印請求數(shù)據(jù) php打印輸出結果
- 04-02網(wǎng)頁里php操作數(shù)據(jù)庫 php網(wǎng)頁例子
- 04-02php插入數(shù)據(jù)庫為亂碼 php連接數(shù)據(jù)庫亂
- 04-02php數(shù)據(jù)庫地址 phpstudy 數(shù)據(jù)庫
- 04-02php數(shù)據(jù)庫數(shù)據(jù)相加 php數(shù)據(jù)庫添加數(shù)據(jù)
- 04-02數(shù)據(jù)權限架構思路php 數(shù)據(jù)權限設計方
- 04-02php數(shù)據(jù)庫輸入變量 php里輸出數(shù)據(jù)庫數(shù)
- 04-02php如何用導入數(shù)據(jù) php用來導入其他文
隨機閱讀
- 01-10SublimeText編譯C開發(fā)環(huán)境設置
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 04-02jquery與jsp,用jquery
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10delphi制作wav文件的方法
- 01-11ajax實現(xiàn)頁面的局部加載
- 01-10C#中split用法實例總結
- 08-05織夢dedecms什么時候用欄目交叉功能?