本文介绍: php xml数据转数组方法一、可以使用simplexml_load_string()函数将XML数据转换为数组。方法二、使用PHP内置的DOMDocument类来将XML数据转换为数组的方法
方法一、可以使用simplexml_load_string()函数将XML数据转换为数组。
方法二、使用PHP内置的DOMDocument类来将XML数据转换为数组的方法
方法一、可以使用simplexml_load_string()
函数将XML数据转换为数组。
$xmlData = '<root><name>John Doe</name><age>30</age></root>';
$xml = simplexml_load_string($xmlData);
$json = json_encode($xml);
$array = json_decode($json, true);
print_r($array);
首先将XML数据存储在一个字符串中,然后使用simplexml_load_string()
函数将其转换为SimpleXMLElement对象。
接下来,使用json_encode()
函数将SimpleXMLElement对象转换为JSON字符串,
再使用json_decode()
函数将JSON字符串转换为关联数组。最后,使用print_r()
函数打印出数组的内容
方法二、使用PHP内置的DOMDocument类来将XML数据转换为数组的方法
$xmlData = '<root><name>John Doe</name><age>30</age></root>';
$xml = new DOMDocument();
$xml->loadXML($xmlData);
$array = domToArray($xml->documentElement);
print_r($array);
function domToArray($node) {
$array = array();
if ($node->hasAttributes()) {
foreach ($node->attributes as $attr) {
$array[$attr->nodeName] = $attr->nodeValue;
}
}
if ($node->hasChildNodes()) {
foreach ($node->childNodes as $childNode) {
if ($childNode->nodeType == XML_ELEMENT_NODE) {
$array[$childNode->nodeName] = domToArray($childNode);
} else if ($childNode->nodeType == XML_TEXT_NODE) {
$array['value'] = $childNode->nodeValue;
}
}
}
return $array;
}
这个例子创建了一个DOMDocument对象,并使用loadXML()
方法将XML数据加载到该对象中。
然后,使用domToArray()
函数将DOM文档转换为数组。
这个函数递归地遍历XML节点,并将节点的名称和值存储在数组中。
需要注意的是,domToArray()
函数是递归的,它能够处理复杂的XML结构。请根据你的XML数据进行适当的调整
原文地址:https://blog.csdn.net/weixin_39934453/article/details/134590003
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_5775.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。