最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php实现的XML操作(读取)封装类完整实例
时间:2022-06-24 20:48:05 编辑:袖梨 来源:一聚教程网
代码如下 | 复制代码 |
|
封装了下读取xml操作类:
代码如下 | 复制代码 |
/** * xml操作基类 */ classXmlBase { publicfunction__construct() { } /** * 加载xml * @param string $xml xml路径或xml字符串 * @param bool $isXmlStr 是否是xml字符串 */ protectedfunction_loadXml($xml,$isXmlStr= FALSE) { $xmlObj=newDOMDocument(); if($isXmlStr) { $xmlObj->loadXML($xmlNewStr); }else{ $xmlObj->load($xml); } return$xmlObj; } /** * 获取某个标签节点 * @param $parentnode 父节点 * @param $tagName 标签名 // 不区分大小写 * @return node 节点对象 */ protectedfunction_getNode($parentNode,$tagName) { $childNodes=$this->_getNodes($parentNode); foreach($childNodesas$node) { $nodeName=strtolower(trim($node->nodeName)); $tagName=strtolower(trim($tagName)); if($nodeName==$tagName) { return$node; } } returnNULL; } /** * 获取xml子节点 * @param $parentNode 父节点 * @param $tagName 子节点标签 // 不区分大小写 */ protectedfunction_getNodes($parentNode,$tagName='') { $nodes=array(); if($tagName) { $nodes=$this->_getSpecialNodes($parentNode,$tagName); }else{ $nodes=$this->_getAllNodes($parentNode); } return$nodes; } /** * 获取所有的节点 * @param $parentNode 父节点 */ protectedfunction_getAllNodes($parentNode) { $nodes=array(); foreach($parentNode->childNodesas$node) { if($node->nodeType == 1) { $nodes[] =$node; } } return$nodes; } /** * 获取指定标签的节点 * @param $parentNode 父节点 * @param $tagName 节点名称 */ protectedfunction_getSpecialNodes($parentNode,$tagName) { $nodes=array(); $tagName=strtolower(trim($tagName)); foreach($parentNode->childNodesas$node) { $nodeName=strtolower(trim($node->nodeName)); if($node->nodeType == 1 &&$nodeName==$tagName) { $nodes[] =$node; } } return$nodes; } /** * 获取节点属性值 * * @param $node 节点对象 * @param $attrName 节点名字 // 不区分大小写 */ protectedfunction_getAttr($node,$attrName) { $attrName=strtolower($attrName); foreach($node->attributesas$attr) { $nodeName=strtolower($attr->nodeName); //$nodeValue = strtolower($attr->nodeValue); $nodeType=strtolower($attr->nodeType); if($nodeType== 2 &&$nodeName==$attrName) { unset($attrName,$nodeName,$nodeType); return$attr->nodeValue; } } return''; } } ?> |
相关文章
- 《1号会员店》关闭自动续费方法 01-29
- 《排球少年:新的征程》社团每日福利领取方法 01-29
- 《椿之歌》新手风属性队伍推荐 01-29
- 《最终幻想14:水晶世界》小小阿托莫斯宠物获得方法 01-29
- 《燕云十六声》醉拳客打法攻略 01-29
- 《异人之下》全货币获取方法汇总 01-29