公尺撲科技旗下的多個產品,需要指令碼自動生成sitemap.xml,於是重新溫習一遍php xml讀寫操作。
讀寫xml的方式,主要圍繞xmlwriter和xmlreader進行,前者用於生成xml,後者則是用來讀取並解析xml
寫入 xml
test_xml_write.php
<?php /**
* mimvp.com
* 2017.06.22
*/header("content-type: text/html; charset=utf-8");
$xml = new xmlwriter();
$xml->openuri("php://outpu程式設計客棧t"); // 輸出到網頁控制台
$xml->openuri("mimvp.xml"); // 輸出到檔案,需要讀寫許可權,推薦 chmod 766 mimvp.xml
// 設定縮排字串
$xml->setindentstring("\t");
$xml->setindent(true);
// xml文件開始
$xml->startdocument('1.0', 'utf-8'程式設計客棧);
// 建立根節點
$xml->startelement("mimvpinfo");
// 節點1
$xml->startelement("item");
$xml->writeattribute("info","1"); // 屬性
$xml->startelement("id");
$xml->text("01");
$xml->endelement();
$xml->startelement("name");
$xml->text("公尺撲**");
$xml->endelement();
$xml->endelement();
// 節點2
$xml->startelement("item");
$xml->writeattribute("info","1"); // 屬性
$xml->startelement("id");
$xml->text("02");
$xml->endelement();
$xml->startelement("name");
$xml->text("公尺撲財富");
$xml->endelement();
$xml->endelement();
$xml->endelement();
$xml->enddocument();
//header("content-type: text/xml");
//取得緩衝區裡的xml字串
//echo $xml->outputmemory();
?>
輸出mimvp.xml檔案內容:
<?xml version="1.0" encoding="utf-8"?>
01公尺撲**
02公尺撲財富
注意:1. 新建mimvp.xml 檔案:
touch mimvp.xml
2. 授權mimvp.xml 檔案:
chmod 766 mimvp.xml
讀取 xml
test_xml_read.php
<?php /**
* mimvp.com
* 2017.06.22
*/header ( "content-type: text/html; charset=utf-8" );
$xml = new xmlreader ();
// 載入xml檔案,如果是字串直接使用xml方法
$xml->open ( "mimvp.xml" );
// 開始讀取xml
while ( $xml->read () )
if ($xml->nodetype == xmlreader::element && $xml->localname == 'id')
if ($xml->nodetype == xmlreader::element && $xml->localname == www.cppcns.com'name')
if ($xml->nodetype == xmlreader::element && $xml->localname == 'age')
}?>
輸出結果:
01 公尺撲**
02 公尺撲財富
源**及應用
請見公尺撲科技的github:
還可點選此處本站**。
ps:這裡再為大家提供幾款關於xml操作的**工具供大家參考使用:
**xml/jsonkztidcvqii互相轉換工具:
**格式化xml/**壓縮xml:
xml**壓縮/格式化工具:
xml****格式化美化工具:
C 使用XmlWriter寫入XML檔案
xmlwriter 表示乙個編寫器,該編寫器提供一種快速 非快取和只進的方式來生成包含 xml 資料的流或檔案。假設我們要寫入以下結構的xml booklist book name 書籍1 id 1 category 計算機 book name 書籍2 id 2 category 計算機 bookl...
PHP使用feof 函式讀檔案的方法
feof應用於php 4,php 5 用來測試檔案指標是否到了檔案結束的位置。如果伺服器沒有關閉由 fsockopen 所開啟的連線,feof 會一直等待直到超時而返回true。預設的超時限制是 60 秒,可以使用 stream set timeout 來改變這個值。檔案指標必須是有效的,必須指向由...
讀《PHP 手冊》有感
php 開始和結束標記有四種 當解析乙個檔案時,php 會尋找起始和結束標記,也就是和?php 7.0.0以後失效 php也允許使用短標記和?但不鼓勵使用。只有通過啟用php.ini中的short open tag配置指令或者在編譯php時使用了配置選項 enable short tags時才能使用...