Magento/PHP: Convert your XML Object to Array
While developing shipment tracking using SimpleXML in magento, I came accross the requirement where I have to get all the XML tags as keys and all the data inside XML tags as values in array. Means I wanted to convert XML to an Array where I can display all the information in some decorative format.
So here is how I converted XML to Array without any kind of hardcoding.
PHP class method to convert xml to array
public function convertXmlObjToArr($obj, &$arr){ | |
$children = $obj->children(); | |
$executed = false; | |
foreach ($children as $elementName => $node){ | |
if($arr[$elementName]!=null){ | |
if($arr[$elementName][0]!==null){ | |
$i = count($arr[$elementName]); | |
$this->convertXmlObjToArr($node, $arr[$elementName][$i]); | |
}else{ | |
$tmp = $arr[$elementName]; | |
$arr[$elementName] = array(); | |
$arr[$elementName][0] = $tmp; | |
$i = count($arr[$elementName]); | |
$this->convertXmlObjToArr($node, $arr[$elementName][$i]); | |
} | |
}else{ | |
$arr[$elementName] = array(); | |
$this->convertXmlObjToArr($node, $arr[$elementName]); | |
} | |
$executed = true; | |
} | |
if(!$executed&&$children->getName()==""){ | |
$arr = (String)$obj; | |
} | |
return; | |
} |
Hope this helps!
Leave a comment
Welcome to my Blog
Certifications
Honor
Recognition
Contributions
Categories
- Apache (2)
- ChatGPT (1)
- Domain name (2)
- eCommerce (2)
- htaccess (1)
- Humor (3)
- Instagram API (1)
- jQuery (4)
- JSON (1)
- Linux (10)
- Magento (142)
- Magento admin (58)
- Magento Certification (5)
- Magento error (13)
- Magento frontend (68)
- Magento Imagine (2)
- Magento Interview (5)
- Magento Master (2)
- Magento2 (10)
- Mobile (1)
- MySQL (7)
- OpenAI (1)
- OroCRM (2)
- Performance (2)
- PHP (8)
- Prototype JS (3)
- Security (4)
- Wordpress (3)
- XML (2)
Tag Cloud
500 internal server error admin answers attribute bug category checkbox checkout cookie customer difference domain name EAV error event extension interview invoice jquery linux magento magento2 magento admin magento error magento interview questions magento orm mysql observer order pinterest product products questions redirect register remove script session simplexml to array state status study guide tax url wordpress