《PHP應(yīng)用:php解析xml方法實(shí)例詳解》要點(diǎn):
本文介紹了PHP應(yīng)用:php解析xml方法實(shí)例詳解,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
本文以實(shí)例形式詳細(xì)講述了php解析xml辦法.分享給大家供大家參考.具體分析如下:PHP實(shí)例
books.xml文件如下:PHP實(shí)例
<?xml version="1.0" encoding="ISO-8859-1"?> <bookstore> <book category="children"> <title lang="en">Harry Potter</title> <author>J K. Rowling</author> <year>2005</year> <price>29.99</price> </book> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</year> <price>30.00</price> </book> <book category="web" cover="paperback"> <title lang="en">Learning XML</title> <author>Erik T. Ray</author> <year>2003</year> <price>39.95</price> </book> </bookstore>
1、DOM解析XMLPHP實(shí)例
<?php //創(chuàng)建一個(gè)DOMDocument對(duì)象 $doc=new DOMDocument(); //加載XML文件 $doc->load("books.xml"); //獲取所有的book標(biāo)簽 $bookDom=$doc->getElementsByTagName("book"); foreach($bookDom as $book){ $title = $book->getElementsByTagName("title")->item(0)->nodeValue; $author = $book->getElementsByTagName("author")->item(0)->nodeValue; $year = $book->getElementsByTagName("year")->item(0)->nodeValue; $price = $book->getElementsByTagName("price")->item(0)->nodeValue; echo "title:".$title."<br>"; echo "author:".$author."<br>"; echo "year:".$year."<br>"; echo "price:".$price ."<br>"; echo "***********************************<br>"; } ?>
2、xml_parse_into_structPHP實(shí)例
創(chuàng)建解析器,將xml數(shù)據(jù)解析到數(shù)組,釋放解析器,再有就是從數(shù)組中提取想要的值.PHP實(shí)例
<?php // 讀取xml文件 $file = "books.xml"; $data = file_get_contents($file); // 創(chuàng)建解析器 $parser = xml_parser_create(); // 將 XML 數(shù)據(jù)解析到數(shù)組中 xml_parse_into_struct($parser, $data, $vals, $index); // 釋放解析器 xml_parser_free($parser); // 數(shù)組處理 $arr = array(); $t=0; foreach($vals as $value) { $type = $value['type']; $tag = $value['tag']; $level = $value['level']; $attributes = isset($value['attributes'])?$value['attributes']:""; $val = isset($value['value'])?$value['value']:""; switch ($type) { case 'open': if ($attributes != "" || $val != "") { $arr[$t]['tag'] = $tag; $arr[$t]['attributes'] = $attributes; $arr[$t]['level'] = $level; $t++; } break; case "complete": if ($attributes != "" || $val != "") { $arr[$t]['tag'] = $tag; $arr[$t]['attributes'] = $attributes; $arr[$t]['val'] = $val; $arr[$t]['level'] = $level; $t++; } break; } } echo "<pre>"; print_r($arr); echo "</pre>"; ?>
3、用 SAX 解析器讀取 XML-----XML Simple API(SAX)解析器PHP實(shí)例
<?php $file="books.xml"; $xml = simplexml_load_file($file); echo "<pre>"; print_r($xml); echo "</pre>"; ?>
希望本文所述對(duì)大家的php程序設(shè)計(jì)有所贊助.PHP實(shí)例
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP應(yīng)用:php解析xml方法實(shí)例詳解》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/10887.html