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

PHP基于XMLWriter操作xml的方法分析

 更新時(shí)間:2017年07月17日 12:10:40   作者:青蛙小王子  
這篇文章主要介紹了PHP基于XMLWriter操作xml的方法,結(jié)合實(shí)例形式分析了php使用XMLWriter生成及解析xml數(shù)據(jù)的操作技巧,需要的朋友可以參考下

本文實(shí)例講述了PHP基于XMLWriter操作xml的方法。分享給大家供大家參考,具體如下:

接著昨天的這次再來(lái)學(xué)習(xí)一種讀寫(xiě)xml的方式,這種方式主要圍繞XMLWriter和XMLReader進(jìn)行。前者用于生成xml,后者則是用來(lái)讀取并解析xml.廢話不多說(shuō)一起來(lái)看看吧

1. 生成xml文件或字符串

<?php
 header("Content-type: text/html; charset=utf-8");
 $xml=new XMLWriter();
 //$xml->openUri("php://output");
 //設(shè)置輸出,如果不需要保存成文件則使用上面被注釋掉那句
 $xml->openUri("stu2.xml");
 //設(shè)置縮進(jìn)字符串,這里設(shè)置為空串(這句和下面的setIntent也可以不要)
 $xml->setIndentString('');
 $xml->setIndent(true);
 //xml文檔開(kāi)始
 $xml->startDocument('1.0', 'utf-8');
 //創(chuàng)建根節(jié)點(diǎn)
 $xml->startElement("StudentInfo");
 $xml->startElement("Item");
 //添加屬性
 $xml->writeAttribute("type","1");
 $xml->startElement("id");
 $xml->text("01");
 $xml->endElement();
 $xml->startElement("name");
 $xml->text("劉惜君");
 $xml->endElement();
 $xml->endElement();
 $xml->endElement();
 $xml->endDocument();
 //header("Content-type: text/xml");
 //取得緩沖區(qū)里的xml字符串
 //echo $xml->outputMemory();
?>

這種方式的特點(diǎn)是每個(gè)標(biāo)簽結(jié)束后需要一個(gè)endElement,xml拼接好后需要把文檔結(jié)束掉。有一種“層層包裹”的感覺(jué)

2. 解析xml

<?php
 header("Content-type: text/html; charset=utf-8");
 $xml=new XMLReader();
//載入xml文件,如果是字符串直接使用xml方法
 $xml->open("student.xml");
//開(kāi)始讀取xml
 while($xml->read()){
   //根據(jù)節(jié)點(diǎn)類型和元素名稱取得文本節(jié)點(diǎn)或?qū)傩?
  if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'item') {
     print $xml->getAttribute("id") . "</br>";
   }
  if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'name') {
     //移動(dòng)指針到下一個(gè)節(jié)點(diǎn)
     $xml->read();
     //取得文本節(jié)點(diǎn)的值
     print $xml->value."</br>";
  }
  if ($xml->nodeType == XMLREADER::ELEMENT && $xml->localName == 'age') {
     $xml->read();
     print $xml->value."</br>";
  }
 }
?>

這種解析xml的方式比較高效,如果有的地方看不懂建議查閱下PHP開(kāi)發(fā)手冊(cè)

被解析的文件內(nèi)容如下

<?xml version="1.0" encoding="utf-8"?>
<UsersInfo><item id="01"><name>馮紹峰</name><age>30</age></item><item id="02"><name>潘瑋柏</name><age>29</age></item></UsersInfo>

下面是解析出來(lái)的結(jié)果

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針對(duì)XML文件操作技巧總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《PHP錯(cuò)誤與異常處理方法總結(jié)》、《PHP基本語(yǔ)法入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總

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

相關(guān)文章

  • 如何在php中正確的使用json

    如何在php中正確的使用json

    以下是對(duì)在php中正確使用json的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下
    2013-08-08
  • phpMyAdmin通過(guò)密碼漏洞留后門文件

    phpMyAdmin通過(guò)密碼漏洞留后門文件

    今天小編就為大家分享一篇關(guān)于phpMyAdmin通過(guò)密碼漏洞留后門文件,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-11-11
  • Windows下安裝Memcached的步驟說(shuō)明

    Windows下安裝Memcached的步驟說(shuō)明

    Windows 下安裝 Memcached 的方法,需要的朋友可以參考下。
    2010-04-04
  • 對(duì)PHP依賴注入的理解實(shí)例分析

    對(duì)PHP依賴注入的理解實(shí)例分析

    這篇文章主要介紹了對(duì)PHP依賴注入的理解,結(jié)合實(shí)例形式詳細(xì)分析了PHP依賴注入的相關(guān)概念與原理,需要的朋友可以參考下
    2016-10-10
  • php魔法函數(shù)與魔法常量使用介紹

    php魔法函數(shù)與魔法常量使用介紹

    這篇文章主要介紹了php魔法函數(shù)與魔法常量的相關(guān)知識(shí)介紹,需要的朋友可以參考下
    2017-07-07
  • php中動(dòng)態(tài)變量用法實(shí)例

    php中動(dòng)態(tài)變量用法實(shí)例

    這篇文章主要介紹了php中動(dòng)態(tài)變量用法,實(shí)例分析了php中動(dòng)態(tài)變量的相關(guān)使用技巧,需要的朋友可以參考下
    2015-06-06
  • php引用計(jì)數(shù)器進(jìn)行垃圾收集機(jī)制介紹

    php引用計(jì)數(shù)器進(jìn)行垃圾收集機(jī)制介紹

    每一種計(jì)算機(jī)語(yǔ)言都有自己的自動(dòng)垃圾回收機(jī)制,讓程序員不必過(guò)分關(guān)心程序內(nèi)存分配,php也不例外,但是在面向?qū)ο缶幊?OOP)編程中,有些對(duì)象需要顯式的銷毀;防止程序執(zhí)行內(nèi)存溢出
    2012-09-09
  • php通過(guò)function_exists檢測(cè)函數(shù)是否存在的方法

    php通過(guò)function_exists檢測(cè)函數(shù)是否存在的方法

    這篇文章主要介紹了php通過(guò)function_exists檢測(cè)函數(shù)是否存在的方法,實(shí)例分析了php使用function_exists檢測(cè)函數(shù)是否存在及調(diào)用的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-03-03
  • PHP文件操作實(shí)例總結(jié)

    PHP文件操作實(shí)例總結(jié)

    這篇文章主要介紹了PHP文件操作,結(jié)合實(shí)例形式總結(jié)分析了php關(guān)于文件讀寫(xiě)操作的常見(jiàn)函數(shù)及使用技巧,需要的朋友可以參考下
    2016-09-09
  • PHP使用pdo連接access數(shù)據(jù)庫(kù)并循環(huán)顯示數(shù)據(jù)操作示例

    PHP使用pdo連接access數(shù)據(jù)庫(kù)并循環(huán)顯示數(shù)據(jù)操作示例

    這篇文章主要介紹了PHP使用pdo連接access數(shù)據(jù)庫(kù)并循環(huán)顯示數(shù)據(jù)操作,結(jié)合實(shí)例形式較為詳細(xì)的分析了php使用pdo進(jìn)行access數(shù)據(jù)庫(kù)連接、查詢、執(zhí)行sql語(yǔ)句、預(yù)處理等相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下
    2018-06-06

最新評(píng)論