亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > 建站經驗 > 正文

PHP如何讀取xml文件?php讀取xml文檔例子

2024-04-25 20:36:58
字體:
來源:轉載
供稿:網友

PHP如何讀取xml文件?有不少朋友不知道這個問題,其實php對于xml文檔是有專門的函數來操作了,下面我們就來舉幾個php讀取xml例子希望能給各位帶來幫助。

一,什么是xml,xml有什么用途

XML(Extensible Markup Language)即可擴展標記語言,它與HTML一樣,都是SGML(Standard Generalized Markup Language,標準通用標記語言)。Xml是Internet環境中跨平臺的,依賴于內容的技術,是當前處理結構化文檔信息的有力工具。擴展標記語言XML是一種簡單的數據存儲語言,使用一系列簡單的標記描述數據,而這些標記可以用方便的方式建立,雖然XML占用的空間比二進制數據要占用更多的空間,但XML極其簡單易于掌握和使用。

XML的用途很多,可以用來存儲數據,可以用來做數據交換,為很多種應用軟件提示數據等等。

二,php讀取xml的方法

xml源文件

<?xml version="1.0 encoding="UTF-8"?>

<humans>

<zhangying>

<name>張映</name>

<sex>男</sex>

<old>28</old>

</zhangying>

<tank>

<name>tank</name>

<sex>男</sex>

<old>28</old>

</tank>

</humans>

1)DOMDocument讀取xml

<?php

$doc = new DOMDocument();

$doc->load('person.xml'); //讀取xml文件

$humans = $doc->getElementsByTagName( "humans" ); //取得humans標簽的對象數組

foreach( $humans as $human )

{

$names = $human->getElementsByTagName( "name" ); //取得name的標簽的對象數組

$name = $names->item(0)->nodeValue; //取得node中的值,如<name> </name>

$sexs = $human->getElementsByTagName( "sex" );

$sex = $sexs->item(0)->nodeValue;

$olds = $human->getElementsByTagName( "old" );

$old = $olds->item(0)->nodeValue;

echo "$name - $sex - $old\n";

}

?>

2)simplexml讀取xml

<?php

$xml_array=simplexml_load_file('person.xml'); //將XML中的數據,讀取到數組對象中

foreach($xml_array as $tmp){

echo $tmp->name."-".$tmp->sex."-".$tmp->old."<br>";

}

?>

如果你使用 curl 獲取的 xml data

$xml = simplexml_load_string($data);

$data['tk'] = json_decode(json_encode($xml),TRUE);

如果是直接獲取 URL 數據的話

$xml = simplexml_load_file($data);

$data['tk'] = json_decode(json_encode($xml),TRUE);

先把 simplexml 對象轉換成 json,再將 json 轉換成數組。

3)用php正則表達式來記取數據

<?php

$xml = "";

$f = fopen('person.xml', 'r');

while( $data = fread( $f, 4096 ) ) {

$xml .= $data;

}

fclose( $f );

// 上面讀取數據

preg_match_all( "/\<humans\>(.*?)\<\/humans\>/s", $xml, $humans ); //匹配最外層標簽里面的內容

foreach( $humans[1] as $k=>$human )

{

preg_match_all( "/\<name\>(.*?)\<\/name\>/", $human, $name ); //匹配出名字

preg_match_all( "/\<sex\>(.*?)\<\/sex\>/", $human, $sex ); //匹配出性別

preg_match_all( "/\<old\>(.*?)\<\/old\>/", $human, $old ); //匹配出年齡

}

foreach($name[1] as $key=>$val){

echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."<br>" ;

}

?>

4)xmlreader來讀取xml數據

<?php

$reader = new XMLReader();

$reader->open('person.xml'); //讀取xml數據

$i=1;

while ($reader->read()) { //是否讀取

if ($reader->nodeType == XMLReader::TEXT) { //判斷node類型

if($i%3){

echo $reader->value; //取得node的值

}else{

echo $reader->value."<br>" ;

}

$i++;

}

}

?>

三,小結

讀取xml的方法很多,簡單舉幾個。上面四種方法都是可以把標簽中的數據讀出來,張映.但是他們的測重點不同,前三種方法的讀取xml的function的設計重點,是為了讀取標簽中的值,相當于jquery中的text()方法,而xmlreader呢他就不太一樣,他的重點不在讀取標簽中的值,而讀取標簽的屬性,把要傳送的數據,都放在屬性中(不過我上面寫的那個方法還是取標簽中的值,因為xml文件已經給定了,我就不想在搞xml文件出來了)。

舉個例子解釋一下,

<data name=’張映’ sex=’男’ old=’28′></data>

xmlreader的設計重點是為了讀data里面的name sex old的值,而讀取的內容就比較麻煩了。他相當于jquery中attr(”);這個東西。

 

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
97国产suv精品一区二区62| 亚洲综合国产精品| 久久久电影免费观看完整版| 欧美在线视频a| 一区二区三区高清国产| 国产在线视频欧美| 日韩免费高清在线观看| 日韩av免费在线| 国产精品27p| 日本高清不卡的在线| 亚洲专区国产精品| 亚洲欧美日韩一区在线| 中文字幕亚洲第一| 国产精品一区二区久久| 97av在线播放| 成人做爰www免费看视频网站| 91大神福利视频在线| 91免费欧美精品| 国产视频综合在线| 欧美激情精品久久久久久久变态| 欧美专区福利在线| 亚洲国产精品成人一区二区| 亚洲精品一区久久久久久| 国产精品亚洲美女av网站| 6080yy精品一区二区三区| 91亚洲精品一区| 欧美亚洲视频一区二区| 最好看的2019的中文字幕视频| 久久深夜福利免费观看| 欧美日本亚洲视频| 91系列在线观看| 日韩视频免费看| 这里只有精品在线观看| 亚洲精品女av网站| 91精品国产精品| 欧美国产第二页| 欧美激情第一页xxx| 日韩动漫免费观看电视剧高清| 成人黄色激情网| 欧美小视频在线| 久久九九全国免费精品观看| 亚洲第一福利视频| 最近2019中文字幕第三页视频| 欧美一级视频一区二区| 国产主播精品在线| 日韩一区二区欧美| 日韩av在线最新| 久久av红桃一区二区小说| 最近更新的2019中文字幕| 欧美自拍视频在线观看| 亚洲一品av免费观看| 92裸体在线视频网站| 欧美专区日韩视频| 久久99热精品| 91美女片黄在线观看游戏| 2018中文字幕一区二区三区| 91高清视频免费观看| 欧美性精品220| 一区二区三区精品99久久| 91亚洲精华国产精华| 国产一区视频在线| 性欧美办公室18xxxxhd| 中文字幕日韩精品在线| 国产福利精品在线| 国产精品91免费在线| 最近2019年手机中文字幕| 亚洲精品久久久久久久久| 成人av在线天堂| 国产福利精品在线| 日韩男女性生活视频| 日韩成人中文电影| 欧美成人精品一区二区三区| 91老司机精品视频| 欧美一级在线播放| 日本欧美国产在线| 日韩免费观看网站| 色婷婷综合久久久久中文字幕1| 91九色精品视频| 久久久电影免费观看完整版| 欧美成人高清视频| 成人国产亚洲精品a区天堂华泰| 91po在线观看91精品国产性色| 欧美性受xxxx黑人猛交| 久久久天堂国产精品女人| 欧美剧在线观看| 亚洲资源在线看| 日韩暖暖在线视频| 亚洲精品影视在线观看| 国产精品视频自在线| 亚洲国产成人久久综合一区| 国产精品国产三级国产专播精品人| 日韩日本欧美亚洲| 亚洲视频在线视频| 亚洲国产精品va| 午夜精品久久久久久久久久久久| 欧美日韩福利电影| 国产精品视频久| 综合国产在线视频| 国产成人精品视频在线观看| 国产欧美va欧美va香蕉在线| 国产欧美va欧美va香蕉在| 亚洲欧美制服第一页| 91po在线观看91精品国产性色| 日本中文字幕久久看| 亚洲福利在线视频| 亚洲欧美中文在线视频| 国产欧美日韩中文字幕在线| 国产精自产拍久久久久久蜜| 亚洲jizzjizz日本少妇| 欧美乱大交做爰xxxⅹ性3| 欧美肥臀大乳一区二区免费视频| 亚洲福利视频久久| 国产成人精品一区二区在线| 亚洲欧美日韩直播| 亚洲精品国产suv| 亚洲大胆人体av| 中文字幕日韩精品在线观看| 91九色综合久久| 国产在线精品一区免费香蕉| 日韩福利视频在线观看| 亚洲网站在线观看| 欧美伊久线香蕉线新在线| 久久免费视频网站| 九九热最新视频//这里只有精品| 久久的精品视频| 色老头一区二区三区在线观看| 欧美成人激情视频免费观看| 国产精品福利无圣光在线一区| 国语自产精品视频在线看一大j8| 亚洲精品黄网在线观看| 欧美日韩免费在线| 国模精品视频一区二区三区| 97在线视频免费| 久久久久久久久91| 欧美黄色性视频| 91麻豆国产精品| 米奇精品一区二区三区在线观看| 日韩美女av在线| 国产精品久久久久久久app| 欧美成人一区在线| 亚洲精品不卡在线| 欧美一级视频免费在线观看| 日韩av在线精品| 俺去亚洲欧洲欧美日韩| 日韩欧美福利视频| 亚洲综合一区二区不卡| 亚洲国产高清自拍| 欧美亚洲国产精品| 91久久精品国产91性色| 欧洲美女7788成人免费视频| 国产精品成人av在线| 欧美电影在线观看完整版| 欧美久久久精品| 欧美天堂在线观看| 欧美精品福利在线| 日韩福利视频在线观看| 国内精品久久久久久中文字幕| 一区二区三区视频在线| 日韩欧美aⅴ综合网站发布| 欧美老女人xx| 91久久久久久久一区二区| 亚洲自拍小视频| 久久久久久国产精品三级玉女聊斋| 亚洲在线第一页|