欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP simplexml使用方法详解

程序员文章站 2022-05-15 16:13:06
...
本文章给来大家讲一下关于PHP下simplexml使用方法,希望通过此文章能提升大家对simplexml操作xml文档的理解,有需要了解的朋友可参考.

PHP XML处理XML代码如下:

Belgian Waffles$5.95two of our famous Belgian Waffles with plenty of real maple syrup650Strawberry Belgian Waffles$7.95light Belgian waffles covered with strawberries and whipped cream900Berry-Berry Belgian Waffles$8.95light Belgian waffles covered with an assortment of fresh berries and whipped cream900

php解决xml代码,代码如下:

 
 
使用simpleXML处理XML
getName(); //var_dump($xml->children()); $record = ''; foreach ($xml->children() as $child) { $record.= ''; foreach ($child->children() as $item) { //var_dump($child); $record.= ''; } $record.= ''; } echo $record; ?>
name price description calories
' . $child->attributes() . '' . $item . '

将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文档——————

 
   
    bddg 
    abcdefg 
    5 
    2 
   
   
    baidongdaogu 
    aaa 
    1 
    2 
   
   
    baidongdaogu 
    aaa 
    1 
    2 
  

//转换后的数组————

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 
        ) 
    ) 
)