PHP使用XMLWriter讀寫xml檔案操作詳解

2022-10-06 15:39:16 字數 2427 閱讀 6719

公尺撲科技旗下的多個產品,需要指令碼自動生成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時才能使用...