这篇文章主要介绍了php实现的xml操作(读取)封装类,给出了xml格式文件示例,并结合完整实例形式分析了php遍历读取xml格式数据节点的相关操作技巧,需要的朋友可以参考下
具体如下:
Normal|DR Wondershare Vedio Convertor Wondershare Customize|Affiliate 143724583 0|1 11642 1|0 1|0 Jump|Hide|Disable 1|0 1|0
立即学习“PHP免费学习笔记(深入)”;
封装了下读取xml操作类:
loadXML($xmlNewStr);
} else {
$xmlObj->load($xml);
}
return $xmlObj;
}
/**
* 获取某个标签节点
* @param $parentnode 父节点
* @param $tagName 标签名 // 不区分大小写
* @return node 节点对象
*/
protected function _getNode($parentNode, $tagName) {
$childNodes = $this->_getNodes($parentNode);
foreach ($childNodes as $node) {
$nodeName = strtolower(trim($node->nodeName));
$tagName = strtolower(trim($tagName));
if ($nodeName == $tagName) {
return $node;
}
}
return NULL;
}
/**
* 获取xml子节点
* @param $parentNode 父节点
* @param $tagName 子节点标签 // 不区分大小写
*/
protected function _getNodes($parentNode, $tagName = '') {
$nodes = array();
if ($tagName) {
$nodes = $this->_getSpecialNodes($parentNode, $tagName);
} else {
$nodes = $this->_getAllNodes($parentNode);
}
return $nodes;
}
/**
* 获取所有的节点
* @param $parentNode 父节点
*/
protected function _getAllNodes($parentNode) {
$nodes = array();
foreach ($parentNode->childNodes as $node) {
if ($node->nodeType == 1) {
$nodes[] = $node;
}
}
return $nodes;
}
/**
* 获取指定标签的节点
* @param $parentNode 父节点
* @param $tagName 节点名称
*/
protected function _getSpecialNodes($parentNode, $tagName) {
$nodes = array();
$tagName = strtolower(trim($tagName));
foreach ($parentNode->childNodes as $node) {
$nodeName = strtolower(trim($node->nodeName));
if ($node->nodeType == 1 && $nodeName == $tagName) {
$nodes[] = $node;
}
}
return $nodes;
}
/**
* 获取节点属性值
*
* @param $node 节点对象
* @param $attrName 节点名字 // 不区分大小写
*/
protected function _getAttr($node, $attrName) {
$attrName = strtolower($attrName);
foreach ($node->attributes as $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 '';
}
}
?>
立即学习“PHP免费学习笔记(深入)”;
以上就是本文的全部内容,希望对大家的学习有所帮助。
相关推荐:
立即学习“PHP免费学习笔记(深入)”;











