欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP使用XMLWriter讀寫xml文件操作詳解

 更新時間:2018年07月31日 11:43:11   作者:米撲代理  
這篇文章主要介紹了PHP使用XMLWriter讀寫xml文件操作,結(jié)合實(shí)例形式分析了php基于XMLWriter針對xml文件進(jìn)行讀寫操作相關(guān)實(shí)現(xiàn)技巧,并附帶相關(guān)源碼供讀者下載參考,需要的朋友可以參考下

本文實(shí)例講述了PHP使用XMLWriter讀寫xml文件操作。分享給大家供大家參考,具體如下:

米撲科技旗下的多個產(chǎn)品,需要腳本自動生成sitemap.xml,于是重新溫習(xí)一遍PHP XML讀寫操作。

讀寫xml的方式,主要圍繞XMLWriterXMLReader進(jìn)行,前者用于生成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://output");  // 輸出到網(wǎng)頁控制臺
$xml->openUri("mimvp.xml");   // 輸出到文件,需要讀寫權(quán)限,推薦 chmod 766 mimvp.xml
// 設(shè)置縮進(jìn)字符串
$xml->setIndentString("\t");
$xml->setIndent(true);
// xml文檔開始
$xml->startDocument('1.0', 'utf-8');
// 創(chuàng)建根節(jié)點(diǎn)
$xml->startElement("MimvpInfo");
  // 節(jié)點(diǎn)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();
  // 節(jié)點(diǎn)2
  $xml->startElement("Item");
    $xml->writeAttribute("info","1");  // 屬性
      $xml->startElement("id");
      $xml->text("02");
      $xml->endElement();
      $xml->startElement("name");
      $xml->text("米撲財(cái)富");
      $xml->endElement();
  $xml->endElement();
$xml->endElement();
$xml->endDocument();
//header("Content-type: text/xml");
//取得緩沖區(qū)里的xml字符串
//echo $xml->outputMemory();
?>

輸出mimvp.xml文件內(nèi)容:

<?xml version="1.0" encoding="UTF-8"?>
<MimvpInfo>
  <Item info="1">
    <id>01</id>
    <name>米撲代理</name>
  </Item>
  <Item info="1">
    <id>02</id>
    <name>米撲財(cái)富</name>
  </Item>
</MimvpInfo>

注意:

1. 新建mimvp.xml 文件:

touch mimvp.xml

2. 授權(quán)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 () ) {
  // 根據(jù)節(jié)點(diǎn)類型和元素名稱取得文本節(jié)點(diǎn)或?qū)傩?
  if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'item') {
    print $xml->getAttribute ( "info" ) . "</br>";
  }
  if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'id') {
    $xml->read ();  // 移動指針到下一個節(jié)點(diǎn)
    print $xml->value . "\t";
  }
  if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'name') {
    $xml->read ();
    print $xml->value . "</br>";
  }
  if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'age') {
    $xml->read ();
    print $xml->value . "</br>";
  }
}
?>

輸出結(jié)果:

01 米撲代理
02 米撲財(cái)富

源代碼及應(yīng)用

請見米撲科技的Github: https://github.com/mimvp/sitemap-php

還可點(diǎn)擊此處本站下載

PS:這里再為大家提供幾款關(guān)于xml操作的在線工具供大家參考使用:

在線XML/JSON互相轉(zhuǎn)換工具:
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

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP針對XML文件操作技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • php生成酷炫的四個字符驗(yàn)證碼

    php生成酷炫的四個字符驗(yàn)證碼

    可以生成隨機(jī)顏色、干擾線條元素、干擾點(diǎn)元素的php驗(yàn)證碼,這篇文章主要介紹了php生成酷炫的四個字符驗(yàn)證碼的編寫方法,感興趣的小伙伴們可以參考一下
    2016-04-04
  • Yii使用smsto短信接口的函數(shù)demo示例

    Yii使用smsto短信接口的函數(shù)demo示例

    這篇文章主要介紹了Yii使用smsto短信接口的函數(shù)demo示例,簡單分析了Yii調(diào)用短信發(fā)送接口實(shí)現(xiàn)短信發(fā)送功能的相關(guān)技巧,需要的朋友可以參考下
    2016-07-07
  • PHP函數(shù)shuffle()取數(shù)組若干個隨機(jī)元素的方法分析

    PHP函數(shù)shuffle()取數(shù)組若干個隨機(jī)元素的方法分析

    這篇文章主要介紹了PHP函數(shù)shuffle()取數(shù)組若干個隨機(jī)元素的方法,結(jié)合實(shí)例形式詳細(xì)分析了shuffle函數(shù)的功能,定義,使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-04-04
  • php讀取遠(yuǎn)程gzip壓縮網(wǎng)頁的方法

    php讀取遠(yuǎn)程gzip壓縮網(wǎng)頁的方法

    這篇文章主要介紹了php讀取遠(yuǎn)程gzip壓縮網(wǎng)頁的方法,當(dāng)站點(diǎn)使用gzip壓縮時,使用常規(guī)的遠(yuǎn)程獲取方法會得到亂碼結(jié)果,使用本文方法即可解決這個問題,需要的朋友可以參考下
    2014-12-12
  • PHP導(dǎo)入導(dǎo)出Excel代碼

    PHP導(dǎo)入導(dǎo)出Excel代碼

    本文給大家分享的是PHP將Excel導(dǎo)入數(shù)據(jù)庫以及數(shù)據(jù)庫數(shù)據(jù)導(dǎo)出至Excel的方法和示例,有需要的小伙伴可以參考下
    2015-07-07
  • PHP獲取文件行數(shù)的方法

    PHP獲取文件行數(shù)的方法

    這篇文章主要介紹了PHP獲取文件行數(shù)的方法,實(shí)例分析了兩種php獲取文件行數(shù)的技巧,需要的朋友可以參考下
    2015-06-06
  • PHP 獲取文件路徑(靈活應(yīng)用__FILE__)

    PHP 獲取文件路徑(靈活應(yīng)用__FILE__)

    __FILE__ ,是返回文件的完整路徑和文件名。如果用在包含文件中,則返回包含文件名。自 PHP 4.0.2 起,__FILE__ 總是包含一個絕對路徑,而在此之前的版本有時會包含一個相對路徑
    2013-02-02
  • PHP IN_ARRAY 函數(shù)使用注意事項(xiàng)

    PHP IN_ARRAY 函數(shù)使用注意事項(xiàng)

    其實(shí)關(guān)鍵還是因?yàn)?php是弱類型語言,php進(jìn)行比較的時候 最好還是使用strict方法的。因?yàn)檫@樣不但比較兩者的值是否一直,還會比較兩者的類型是否一直。
    2010-07-07
  • php用正則判斷是否為數(shù)字的方法

    php用正則判斷是否為數(shù)字的方法

    這篇文章主要介紹了php用正則判斷是否為數(shù)字的方法,需要的朋友可以參考下
    2016-03-03
  • 如何通過Apache在本地配置多個虛擬主機(jī)

    如何通過Apache在本地配置多個虛擬主機(jī)

    這篇文章主要介紹了如何通過Apache在本地配置多個虛擬主機(jī),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07

最新評論