本文实例讲述了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
封装了下读取xml操作类:
loadXML($xmlNewStr);
} else {
$xmlObj->load($xml);
}
return $xmlObj;
}
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;
}
protected function _getNodes($parentNode, $tagName = '') {
$nodes = array();
if ($tagName) {
$nodes = $this->_getSpecialNodes($parentNode, $tagName);
} else {
$nodes = $this->_getAllNodes($parentNode);
}
return $nodes;
}
protected function _getAllNodes($parentNode) {
$nodes = array();
foreach ($parentNode->childNodes as $node) {
if ($node->nodeType == 1) {
$nodes[] = $node;
}
}
return $nodes;
}
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;
}
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 '';
}
}
?>
PS:这里再为大家提供几款关于xml操作的在线工具供大家参考使用:
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
在线格式化XML/在线压缩XML:
http://tools.jb51.net/code/xmlformat
XML在线压缩/格式化工具:
http://tools.jb51.net/code/xml_format_compress
XML代码在线格式化美化工具:
http://tools.jb51.net/code/xmlcodeformat
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP针对XML文件操作技巧总结》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《PHP错误与异常处理方法总结》、《PHP基本语法入门教程》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。



