创作人 Leo
编辑时间 Wed Jan 1,2020 at 10:13
注意:节点属性中不能包含&符号
例:(遍历dom节点)
$dom=new DOMDocument; //实例化DOM对象
$dom->load('xr.xml'); //使用load方法加载XML文件
$root=$dom->getElementsByTagName('members'); //获取根节点
$root=$root->item(0); //获取第一个$root
//var_dump($root);
$userid=$dom->getElementsByTagName('member'); //获取member标签
//echo 'PHP解析XML文档';
echo '<table border="1" width="800" height="300">
<tr>
<td>文件名</td>
<td>类型</td>
<td>大小</td>
<td>ed2k链接</td>
</tr>';
$i=0;
foreach($userid as $temp){
$a=$temp->getElementsByTagName('name'); //获取<no></no>标签
$name=$a->item(0)->nodeValue;
$b=$temp->getElementsByTagName('type');
$name=$b->item(0)->nodeValue;
$c=$temp->getElementsByTagName('size');
$power=$c->item(0)->nodeValue;
$d=$temp->getElementsByTagName('ed2k');
$magic=$d->item(0)->nodeValue;
}
?>
例:(按层次读取菜单)
<?xml version="1.0" encoding="UTF-8"?>
<root>
<column name="统计数据" img="/admin/images/menu-item-1.png" >
<module name="用户分析" id="user-counter">
<item name="注册用户" module="Counter" action="userRegister" param="type=1" on="true" ></item>
<item name="活跃用户" module="Counter" action="userActive" param="type=1" ></item>
<item name="死亡用户" module="Counter" action="userDied" param="type=1" ></item>
</module>
<module name="帖子分析" id="market-counter">
<item name="新帖子" module="Market" action="marketNew" param="type=1" on="true" ></item>
<item name="回复" module="Market" action="comment" param="type=1" ></item>
</module>
<module name="访问分析" id="visit-counter">
<item name="注册用户访问统计" module="Visit" action="memberUser" param="type=1" on="true" ></item>
<item name="匿名用户访问统计" module="Visit" action="memberUser" param="type=1#nologin=1" ></item>
</module>
</column>
<column name="用户管理" img="/admin/images/menu-item-3.png" >
<module name="添加用户" id="user-add">
<item name="添加用户" module="User" action="addUser" param="" on="true" ></item>
</module>
<module name="反馈信息" id="user-say">
<item name="意见反馈" module="User" action="opinionList" param="" on="true" ></item>
<item name="举报" module="User" action="informList" param="" ></item>
<item name="纠错" module="User" action="errorList" param="" ></item>
</module>
</column>
<column name="活动管理" img="/admin/images/menu-item-5.png">
<module name="发起活动" id="market-add">
<item name="发帖" module="Market" action="marketAdd" param="" on="true" ></item>
</module>
<module name="经销商大会" id="tmp">
<item name="专题页报名" module="Tmp" action="webApply" param="" on="true" ></item>
<item name="获奖用户" module="Tmp" action="listPrizeUser" param="" ></item>
</module>
</column>
<column name="管理员专区" img="/admin/images/menu-item-5.png" >
<module name="入口管理" id="entry-admin" >
<item name="页面管理" module="Admin" action="entry" param="" on="true" ></item>
</module>
<module name="商情标签管理" id="mtay-admin" >
<item name="标签管理" module="Admin" action="marketTag" param="" on="true" ></item>
</module>
<module name="系统配置" id="config-admin" >
<item name="修改配置" module="Admin" action="config" param="" on="true" ></item>
<item name="启动界面" module="Admin" action="launchConfig" param="" ></item>
</module>
<module name="版本升级" id="upversion-admin" >
<item name="版本升级" module="Admin" action="upVersion" param="" on="true" ></item>
</module>
<module name="权限管理" id="rule-admin" >
<item name="权限列表" module="Admin" action="listRule" param="" on="true" ></item>
<item name="特权列表" module="Admin" action="listPrivilege" param="" ></item>
</module>
</column>
</root>
public function index(){
$itemArr = array();
//读取xml菜单数据
$dom = new DOMDocument();
$dom->load($this->adminMenuFile);
$root = $dom->getElementsByTagName('root');
$root = $root->item(0);
$columnEle = $dom->getElementsByTagName('column');
foreach ($columnEle as $column){
//读取大模块列表
$column_attrs = $column->attributes;
$_data['title'] = $column_attrs->getNamedItem('name')->value;
$_data['img'] = __THEME__.$column_attrs->getNamedItem('img')->value;
$_data['items'] = array();
$moduleEle = $column->getElementsByTagName('module');
foreach ($moduleEle as $module){
//读取子模块列表
$module_attrs = $module->attributes;
$_dModule['name'] = $module_attrs->getNamedItem('name')->value;
$_url_module = $module_attrs->getNamedItem('module')->value;
$_url_action = $module_attrs->getNamedItem('action')->value;
$_url_param = $module_attrs->getNamedItem('param')->value;
$_dModule['url'] = U(array('m'=>$_url_module, 'a'=>$_url_action,'p'=>$_url_param));
$_dModule['id'] = $module_attrs->getNamedItem('id')->value; //js操作内容框架跳转时的id参数,用来在ajax中搜索item节点子菜单
array_push($_data['items'], $_dModule);
}
array_push($itemArr, $_data);
}
$this->assign('itemArr', $itemArr);
$this->assign('adminInfo', $this->adminInfo);
$this->show('index');
}