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

首頁 > 編程 > PHP > 正文

PHP讀取XML文件的方法

2019-11-06 07:17:00
字體:
來源:轉載
供稿:網友

本文實例總結了php讀取xml格式文件的方法。分享給大家供大家參考,具體如下:

books.xml文件:

<books><book><author>Jack Herrington</author><title>PHP Hacks</title><publisher>O'Reilly</publisher></book><book><author>Jack Herrington</author><title>Podcasting Hacks</title><publisher>O'Reilly</publisher></book></books>

1.DOMDocument方法

<?php$doc = new DOMDocument();$doc->load( 'books.xml' );$books = $doc->getElementsByTagName( "book" );foreach( $books as $book ){ $authors = $book->getElementsByTagName( "author" ); $author = $authors->item(0)->nodeValue; $publishers = $book->getElementsByTagName( "publisher" ); $publisher = $publishers->item(0)->nodeValue; $titles = $book->getElementsByTagName( "title" ); $title = $titles->item(0)->nodeValue; echo "$title - $author - $publisher/n"; echo "<br>";}?>

2.用 SAX 解析器讀取 XML:

<?php$g_books = array();$g_elem = null;function startElement( $parser, $name, $attrs ){ global $g_books, $g_elem; if ( $name == 'BOOK' ) $g_books []= array(); $g_elem = $name;}function endElement( $parser, $name ){ global $g_elem; $g_elem = null;}function textData( $parser, $text ){ global $g_books, $g_elem; if ( $g_elem == 'AUTHOR' ||$g_elem == 'PUBLISHER' ||$g_elem == 'TITLE' ){ $g_books[ count( $g_books ) - 1 ][ $g_elem ] = $text; }}$parser = xml_parser_create();xml_set_element_handler( $parser, "startElement", "endElement" );xml_set_character_data_handler( $parser, "textData" );$f = fopen( 'books.xml', 'r' );while( $data = fread( $f, 4096 ) ){ xml_parse( $parser, $data );}xml_parser_free( $parser );foreach( $g_books as $book ){ echo $book['TITLE']." - ".$book['AUTHOR']." - "; echo $book['PUBLISHER']."/n";}?>

3.用正則表達式解析 XML:

<?php$xml = "";$f = fopen( 'books.xml', 'r' );while( $data = fread( $f, 4096 ) ) { $xml .= $data;}fclose( $f );4.解析XML到數組

<?php $data = "<root><line /><content language=/"gb2312/">簡單的XML數據</content></root>"; $parser = xml_parser_create(); //創建解析器 xml_parse_into_struct($parser, $data, $values, $index); //解析到數組 xml_parser_free($parser); //釋放資源 //顯示數組結構 echo "/n索引數組/n"; print_r($index); echo "/n數據數組/n"; print_r($values);?>

5.檢查XML是否有效

<?php //創建XML解析器 $xml_parser = xml_parser_create(); //使用大小寫折疊來保證能在元素數組中找到這些元素名稱 xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true); //讀取XML文件 $xmlfile = "bb.xml"; if (!($fp = fopen($xmlfile, "r"))) { die("無法讀取XML文件$xmlfile"); } //解析XML文件 $has_error = false; //標志位 while ($data = fread($fp, 4096)) { //循環地讀入XML文檔,只到文檔的EOF,同時停止解析 if (!xml_parse($xml_parser, $data, feof($fp))) { $has_error = true; break; } } if($has_error) { echo "該XML文檔是錯誤的!<br />"; //輸出錯誤行,列及其錯誤信息 $error_line = xml_get_current_line_number($xml_parser); $error_row = xml_get_current_column_number($xml_parser); $error_string = xml_error_string(xml_get_error_code($xml_parser)); $message = sprintf("[第%d行,%d列]:%s", $error_line, $error_row, $error_string); echo $message; } else { echo "該XML文檔是結構良好的。"; } //關閉XML解析器指針,釋放資源 xml_parser_free($xml_parser);?>

6.可用于精確的讀取XML

test.xml

<?xml version="1.0" encoding="UTF-8" ?> <SBMP_MO_MESSAGE> <CONNECT_ID>100</CONNECT_ID> <MO_MESSAGE_ID>123456</MO_MESSAGE_ID> <RECEIVE_DATE>20040605</RECEIVE_DATE> <RECEIVE_TIME>153020</RECEIVE_TIME> <GATEWAY_ID>1</GATEWAY_ID> <VALID>1</VALID> <CITY_CODE>010</CITY_CODE> <CITY_NAME>北京</CITY_NAME> <STATE_CODE>010</STATE_CODE> <STATE_NAME>北京</STATE_NAME> <TP_PID>0</TP_PID> <TP_UDHI>0</TP_UDHI> <MSISDN>15933626501</MSISDN> <MESSAGE_TYPE>8</MESSAGE_TYPE> <MESSAGE>5618常年供應苗木,品種有玉蘭、黃葉楊等。聯系人:張三,電話:1234567890。</MESSAGE> <LONG_CODE>100</LONG_CODE> <SERVICE_CODE>9588</SERVICE_CODE> </SBMP_MO_MESSAGE>

test.php:

<?php$myData = array();$file = file_get_contents("test.xml");if(strpos($file, '<?xml') > -1) { try { //加載解析xml $xml = simplexml_load_string($file); if($xml) { //echo $this->result; //獲取節點值 $CONNECT_ID = $xml->CONNECT_ID; $MO_MESSAGE_ID = $xml->MO_MESSAGE_ID; $RECEIVE_DATE = $xml->RECEIVE_DATE; $RECEIVE_TIME = $xml->RECEIVE_TIME; $GATEWAY_ID = $xml->GATEWAY_ID; $VALID = $xml->VALID; $CITY_CODE = $xml->CITY_CODE; $CITY_NAME = $xml->CITY_NAME; $STATE_CODE = $xml->CITY_CODE; $STATE_NAME = $xml->STATE_NAME; $TP_PID = $xml->TP_PID; $TP_UDHI = $xml->TP_UDHI; $MSISDN = $xml->MSISDN; $MESSAGE_TYPE = $xml->MESSAGE_TYPE; $MESSAGE = $xml->MESSAGE;//短信 $LONG_CODE = $xml->LONG_CODE; $SERVICE_CODE = $xml->SERVICE_CODE; preg_match("/(561)/d{1,2}/", $MESSAGE, $code); switch($code[0]) { case 5618 : $myData[message] = $MESSAGE; break; default : $myData[] = '沒有短消息。'; break; } } else { echo "加載xml文件錯誤。"; } } catch(exception $e){ print_r($e); }} else { echo "沒有該XML文件。";}echo "<pre>";print_r($myData);echo "<hr>";echo $myData[message];?>

希望本文所述對大家的PHP有所幫助。請大家關注我的其他博客github和簡書


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品电影一区| xvideos国产精品| 亚洲人在线视频| 亚洲欧美国产一区二区三区| 成人黄色中文字幕| 国产精品人人做人人爽| 成人性教育视频在线观看| 亚洲欧美日韩精品久久亚洲区| 亚洲国产精品久久久久久| 久久99久国产精品黄毛片入口| 91精品国产高清久久久久久久久| 琪琪第一精品导航| 亚洲精品www| 欧美午夜xxx| 亚洲偷熟乱区亚洲香蕉av| 亚洲aⅴ日韩av电影在线观看| 欧美国产在线视频| 欧美日韩不卡合集视频| 欧美激情18p| 欧美日韩加勒比精品一区| 另类专区欧美制服同性| 亚洲午夜国产成人av电影男同| 精品亚洲精品福利线在观看| 日韩视频永久免费观看| 91在线直播亚洲| 91精品综合久久久久久五月天| 欧美精品第一页在线播放| 清纯唯美亚洲激情| 亚洲综合成人婷婷小说| 成人综合网网址| 欧美日韩xxxxx| 精品日本高清在线播放| 色婷婷av一区二区三区久久| 亚洲白虎美女被爆操| 国产精品九九久久久久久久| 久久久久久国产精品| 久久视频国产精品免费视频在线| 国产精品一区二区久久久| 精品国产一区二区三区久久久狼| 国内自拍欧美激情| 亚洲女人初尝黑人巨大| 在线播放国产一区中文字幕剧情欧美| 欧美激情一区二区三区久久久| 欧美日韩亚洲一区二| 精品视频偷偷看在线观看| 久久高清视频免费| 日韩三级成人av网| 欧美性猛交xxxx免费看久久久| 精品国偷自产在线| 91香蕉嫩草影院入口| 亚洲图中文字幕| 91精品视频在线播放| 成人黄色中文字幕| 色播久久人人爽人人爽人人片视av| 亚洲日本欧美日韩高观看| 国产99久久精品一区二区| 国产欧美日韩最新| 97视频在线观看亚洲| 欧美日韩免费观看中文| 在线成人激情黄色| 性色av一区二区咪爱| 成人福利免费观看| 91久久精品国产91久久性色| 日韩国产精品一区| 亚洲免费伊人电影在线观看av| 青青草99啪国产免费| 色无极亚洲影院| 欧美一级电影免费在线观看| 91免费精品视频| 91精品国产91久久久久久吃药| 国产主播喷水一区二区| 日韩欧美亚洲一二三区| 亚洲区在线播放| 欧美激情国产精品| 精品激情国产视频| 国产香蕉97碰碰久久人人| 亚洲天堂av高清| 成人精品网站在线观看| 中文字幕亚洲国产| 欧美午夜精品在线| 久久久久久久国产| 欧美日本精品在线| 一本一本久久a久久精品牛牛影视| 亚洲精品综合精品自拍| 欧美超级乱淫片喷水| 午夜精品一区二区三区在线视频| 精品一区精品二区| 久久99国产精品自在自在app| 日韩免费高清在线观看| 精品激情国产视频| 久久精品国产亚洲一区二区| 国产精品h片在线播放| 国产精品999999| 日韩精品福利网站| 97在线免费观看视频| 欧美理论电影在线观看| 97国产suv精品一区二区62| 92裸体在线视频网站| 国产成人精彩在线视频九色| 亚洲国产精品va在看黑人| 精品国偷自产在线| 欧美日韩国产综合新一区| 久久国产精品久久久| 亚洲综合中文字幕68页| 亚洲人午夜精品免费| 亚洲欧美日韩中文视频| 色婷婷成人综合| 疯狂蹂躏欧美一区二区精品| 欧美成人剧情片在线观看| 美女撒尿一区二区三区| 亚洲视频网站在线观看| 7777精品视频| 日韩成人高清在线| 亚洲第一中文字幕在线观看| 国产精品极品美女在线观看免费| 精品久久久久久亚洲国产300| 最新国产成人av网站网址麻豆| 欧美成aaa人片在线观看蜜臀| 日韩精品免费看| 91深夜福利视频| 三级精品视频久久久久| 欧美黑人极品猛少妇色xxxxx| 欧美午夜无遮挡| 日韩美女在线观看| 欧美超级乱淫片喷水| 国产精品免费看久久久香蕉| 高清欧美性猛交xxxx黑人猛交| www.日本久久久久com.| 国产在线拍偷自揄拍精品| 国产偷国产偷亚洲清高网站| 日韩有码在线观看| 欧美日韩国产页| 色老头一区二区三区在线观看| 九九热这里只有精品免费看| 91成人在线观看国产| 91免费国产网站| 日韩网站免费观看高清| 欧美在线国产精品| 性色av香蕉一区二区| 亚洲精品视频在线观看视频| 国产中文字幕91| 91视频国产一区| 精品成人av一区| 亚洲精品一区二区三区婷婷月| 欧美午夜精品伦理| 欧美中文字幕第一页| 亚洲精品小视频| 亚洲成人av在线播放| 伊人久久大香线蕉av一区二区| 国产视频自拍一区| 国模精品视频一区二区三区| 成人动漫网站在线观看| 亚洲性视频网站| 亚洲女人天堂av| www.午夜精品| 欧美成人精品在线视频| 欧美成人手机在线| 日本欧美精品在线| 亚洲精品有码在线| 一区二区三欧美| 欧美性猛交xxxxx水多| 中文字幕亚洲第一| 国模精品系列视频| 综合激情国产一区|