最新下载
热门教程
- 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''; } } ?> |
相关文章
- 炉石传说血DK卡组怎么样 炉石传说血DK卡组推荐介绍 11-05
- 咒术回战幻影夜行官网在哪里 咒术回战幻影夜行官网地址介绍 11-05
- 蚂蚁庄园今天答题答案2024年10月26日 11-05
- 以闪亮之名变装物语甜趣篇怎么玩 11-05
- 闪耀暖暖永夜禁锢怎么玩 11-05
- 闪耀暖暖永夜禁锢怎么玩 闪耀暖暖永夜禁锢活动介绍 11-05