<?php
class ArrayToXML
{
/**
* The main function for converting to an XML document.
* Pass in a multi dimensional array and this recrusively loops through and builds up an XML document.
*
* @param array $data
* @param string $rootNodeName - what you want the root node to be - defaultsto data.
* @param SimpleXMLElement $xml - should only be used recursively
* @return string XML
*/
public static function toXml($data, $rootNodeName = 'data', $xml = null)
{
// turn off compatibility mode as simple xml throws a wobbly if you don't.
if (ini_get('zend.ze1_compatibility_mode') == 1)
{
ini_set('zend.ze1_compatibility_mode', 0);
}
if ($xml == null)
{
$xml = simplexml_load_string("<?xml version='1.0' encoding='utf-8'?><$rootNodeName />");
}
// loop through the data passed in.
foreach ($data as $key=>$value)
{
// no numeric keys in our xml please!
if (is_numeric($key))
{
// make string key...
$key = "unknownNode_".(string) $key;
}
// replace anything not alpha numeric
$key = preg_replace('/[^a-z]/i', '', $key);
// if there is another array found recrusively call this function
if (is_array($value))
{
$node = $xml->addChild($key);
// recrusive call.
ArrayToXML::toXml($value, $rootNodeName, $node);
}
else
{
// add single node.
$value = htmlentities($value,ENT_QUOTES,"UTF-8");
$xml->addChild($key, $value);
}
}
// pass back as string. or simple xml object if you want!
return $xml->asXML();
}
}
?>
分享到:
相关推荐
$xml = new Array2xml($array); echo $xml->build(); ``` 这将生成如下XML字符串: ```xml <element1>value1 <element2>value2</element2> ``` 通过理解Array2xml类的工作原理和使用方法,开发者可以更有效地...
首先,我们创建一个名为`Array2xml`的类,该类有两个成员变量:`$xml`用于存储生成的XML字符串。类中包含两个方法:`array2xml()`和`getXml()`。 `array2xml()`方法是核心函数,它接受一个数组作为参数,并根据数组...
本类支持无限极数组生成xml,或者xml生成数组
本文将详细介绍`array2xml`和`xml2array`这两个函数,以及如何实现XML和数组之间的互相转化。 首先,我们来看`array2xml`函数。这个函数的作用是将一个简单的PHP数组转换为XML字符串。例如,给定如下的数组: ```...
php写的一个 xml操作类 可以序列化和串行化 支持 array2xml和 xml2array
基本代码由Lalit Patel开发,可从获得 XML2Array: : Array2XML: : 我已经通过生成器添加了额外的单元测试(所以可能测试太多了)版本记录请阅读CHANGELOG文档。 @去做在XML内添加对<!-- comments -->支持,...
本篇将详细介绍如何为Flex中的Tree组件设置不同的数据源,包括XML、Array和Object。 首先,让我们从XML数据源开始。XML因其结构化的特性,非常适合用来表示层次数据。在Flex中,我们可以使用mx.collections....
`array2xml.php`文件可能包含一个函数,该函数接收数组并生成相应的XML结构。这里是一个简单的实现示例: ```php function array_to_xml($data, &$domElement) { foreach ($data as $key => $value) { if (is_...
在提供的压缩包中,有两个PHP文件:`xml2json0.php`和`Xmltoarray.php`。`xml2json0.php`可能是一个实现XML到JSON转换的脚本,而`Xmltoarray.php`则可能是将XML转换为数组的实现。这两个文件可以作为实际操作的例子...
这个方法主要通过递归函数`array_Xml()`来实现。 首先,我们来看一下核心的`array_Xml()`函数: ```php function array_Xml($array, $keys = '') { global $elementLevel; // 非数组处理 if (!is_array($...
本篇文章将深入探讨`string-array`和`integer-array`的用法,以及如何在XML中定义和使用它们。 首先,`string-array`是Android中用于存储字符串数组的资源。在Android的资源XML文件(通常位于res/values/strings....
0x01 array2xml 搜索了一下,还真有地址为git,于是开始撸起袖子开始干。 示例如下: THE CODE: $xml = new ArrayToXML(); print $xml->buildXML($input); INPUT: $input = array('product' => array
在 PHP 中,数组和 XML 之间的转换是一种常见的需求,特别是在数据交换、存储或者解析 XML 文件时。本篇文章将深入探讨如何在 PHP 中实现数组到 XML 的转换,并提供两种不同的实现方式。 首先,我们来看第一种方法...
composer require spatie/array-to-xml用法use Spatie \ ArrayToXml \ ArrayToXml ;. . .$ array = [ 'Good guy' => [ 'name' => 'Luke Skywalker' , 'weapon' => 'Lightsaber' ], 'Bad guy' => [ 'name' => '...
$xmlString = '<root><item id="1">Item 1</item><item id="2">Item 2</item></root>'; $doc = new DOMDocument(); ``` 这里,我们首先创建了一个`DOMDocument`对象,然后加载XML字符串。 2. **加载XML数据**:...
将xml转换为数组 该软件包提供了一个非常简单的类,可以将xml字符串转换为数组。...use Vyuldashev \ XmlToArray \ XmlToArray ; $ xml = ' <name>Luke Skywalker <weapon>Lightsaber <bad_g
- php中Array2xml类实现数组转化成XML实例:通过自定义类实现数组到XML的转换。 - php实现xml转换数组的方法示例:展示了如何使用PHP的DOMDocument和DOMElement类进行转换。 - PHP实现数组array转换成xml的方法:...
在Java编程中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它结构清晰、易于阅读,常用于存储和传输数据。当处理XML文件时,有时我们需要将其内容转换为Java对象,如List,以便于操作和处理。本篇...