本文章给来大家讲一下关于PHP下simplexml使用方法,希望通过此文章能提升大家对simplexml操作xml文档的理解,有需要了解的朋友可参考.
PHP XML处理XML代码如下:
- <?xml version="1.0" encoding="UTF-8"?>
-
- <breakfast_menu>
- <food id="1">
- <name>Belgian Waffles</name>
- <price>$5.95</price>
- <description>two of our famous Belgian Waffles with plenty of real maple syrup</description>
- <calories>650</calories>
- </food>
- <food id="2">
- <name>Strawberry Belgian Waffles</name>
- <price>$7.95</price>
- <description>light Belgian waffles covered with strawberries and whipped cream</description>
- <calories>900</calories>
- </food>
- <food id="3">
- <name>Berry-Berry Belgian Waffles</name>
- <price>$8.95</price>
- <description>light Belgian waffles covered with an assortment of fresh berries and whipped cream</description>
- <calories>900</calories>
- </food>
- </breakfast_menu>
php解决xml代码,代码如下:
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>使用simpleXML处理XML</title>
- </head>
-
- <body>
- <table border="1" cellpadding="0" cellspacing="0" width="700">
- </tbody>
- <tr bgcolor="green">
- <th width="5%"> </th>
- <th width="20%">name</th>
- <th width="10%">price</th>
- <th width="55%">description</th>
- <th width="10%">calories</th>
- </tr>
- <?php
-
-
- $xml = simplexml_load_file('./simple.xml');
-
-
-
- $record = '';
- foreach ($xml->children() as $child)
- {
- $record .= '<tr><td>'. $child->attributes(). '</td>';
- foreach ($child->children() as $item)
- {
-
- $record .= '<td>'. $item .'</td>';
- }
- $record .= '</tr>';
- }
- echo $record;
- ?>
- </tbody>
- </table>
- </body>
- </html>
将XML转换为数组结构,代码如下:
- private function change_simple_xml_to_array($obj){
- $i = 0;
-
- foreach($obj->children() as $value){
-
- if(isset($last_name) && $value->getName()==$last_name){
-
- if($i==1) $arr[$last_name]=array($arr[$last_name]);
-
- array_push($arr[$last_name],$this->change_simple_xml_to_array($value));
- }else{
- $last_name = $value->getName();
- if(count($value->children())==0) $arr[$last_name] = $value."";
- else $arr[$last_name] = $this->change_simple_xml_to_array($value);
- }
- $i++;
- }
- return $arr;
- }
-
-
-
- <?xml version="1.0" encoding="utf-8"?>
- <use>
- <login id="1">
- <user>bddg</user>
- <pas>abcdefg</pas>
- <permission><fdsa>5</fdsa></permission>
- <online_time>2</online_time>
- </login>
- <login id="2">
- <user>baidongdaogu</user>
- <pas>aaa</pas>
- <permission>1</permission>
- <online_time>2</online_time>
- </login>
- <login id="3">
- <user>baidongdaogu</user>
- <pas>aaa</pas>
- <permission>1</permission>
- <online_time>2</online_time>
- </login>
- </use>
-
-
-
- Array
- (
- [login] => Array
- (
- [0] => Array
- (
- [user] => bddg
- [pas] => abcdefg
- [permission] => Array
- (
- [fdsa] => 5
- )
-
- [online_time] => 2
- )
-
- [1] => Array
- (
- [user] => baidongdaogu
- [pas] => aaa
- [permission] => 1
- [online_time] => 2
- )
-
- [2] => Array
- (
- [user] => baidongdaogu
- [pas] => aaa
- [permission] => 1
- [online_time] => 2
- )
- )
- )
|