PHP数组和XML之间的相互转换
在这篇文章中,我们将简要介绍如何使用PHP来处理数组和XML之间的相互转换。
源代码下载:PHP数组与XML之间的转换
PHP将数组转换为XML
PHP可以将数组转换成XML格式。简单的方法是遍历数组,然后将数组的关键字值转换为XML节点,然后直接输出回声,例如:
功能arraytoxml($ ARR){
= $;
foreach(ARR美元美元美元关键= > Val){
如果(is_array($ Val)){
为XML。= 。ArrayToXml(美元值)。;
其他{ }
为XML。= 美元价值;
}
}
$;
返回xml;
}
我测试它,这是最简单、快速、支持的数组,而中文不会编码。
另一种方法是使用DOMDocument生成XML结构:
功能arraytoxml($ ARR,DOM = 0美元美元,项目= 0){
如果(!$){
$ DOM =新DOMDocument(1 );
}
如果(!$项目){
项目=美元美元DOM -> createElement(根);
DOM美元-> appendChild($项);
}
foreach(ARR美元美元美元关键= > Val){
$itemx = $dom->createElement (is_string ($key) $key: item);
$项-> appendChild($ itemx);
如果(!is_array($ Val)){
文本=美元美元DOM -> createTextNode(美元值);
itemx美元-> appendChild($文本);
{ }人
ArrayToXml(美元价值,美元美元的DOM,itemx);
}
}
返回的DOM -> savexml();
}
它还可以将数组转换成XML,支持多维数组,生成的XML中文不会编码。
PHP将XML转换为数组
做界面开发中经常会遇到别人向你是XML格式的数据,微信,支付宝的公共接口,其接口如发送消息通信的XML格式,所以我们可以找到一种方式来获得XML数据,然后将其转换成一个数组。
假设我们得到像这样的xml:
月光下的ABCD
一万三千零二
一千二百
一千八百二十九
2016-06-01
通过simplexml_load_string读取XML数据解析(),然后把它转化为JSON格式,然后将其转换成一个数组。
功能xmltoarray($ XML){
没有外部实体XML
libxml_disable_entity_loader(真的);
xmlstring = simplexml_load_string美元($ XML,'simplexmlelement ',libxml_nocdata);
val = json_decode(json_encode美元(美元xmlstring),真的);
返回$ $;
}
下面的结果可以通过调用xmltoarray获得():
当我们得到数组时,我们可以用多种方式处理数据。
以上是本文的全部内容,希望能对您有所帮助,希望大家多多支持。