最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

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

1. 生成xml文件或字符串

<?php
 header("Content-type: text/html; charset=utf-8");
 $xml=new XMLWriter();
 //$xml->openUri("php://output");
 //設(shè)置輸出,如果不需要保存成文件則使用上面被注釋掉那句
 $xml->openUri("stu2.xml");
 //設(shè)置縮進字符串,這里設(shè)置為空串(這句和下面的setIntent也可以不要)
 $xml->setIndentString('');
 $xml->setIndent(true);
 //xml文檔開始
 $xml->startDocument('1.0', 'utf-8');
 //創(chuàng)建根節(jié)點
 $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();
?>

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

2. 解析xml

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

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

被解析的文件內(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>

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

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

相關(guān)文章

最新評論

盘锦市| 本溪市| 元江| 女性| 和硕县| 福泉市| 霍林郭勒市| 罗山县| 六安市| 安宁市| 万州区| 报价| 建湖县| 光山县| 宿迁市| 闻喜县| 福州市| 谷城县| 梓潼县| 蓬安县| 盐亭县| 盐城市| 合阳县| 改则县| 罗平县| 张家港市| 乌拉特中旗| 磴口县| 二手房| 凤山县| 赤壁市| 南城县| 榆树市| 兴文县| 稷山县| 彭泽县| 新绛县| 福清市| 旺苍县| 琼中| 和田县|