`
gabrieltong
  • 浏览: 16275 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

array2xml

阅读更多
<?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();
        
    }
    
}
?>
 
0
1
分享到:
评论

相关推荐

    PHP 的Array2xml

    $xml = new Array2xml($array); echo $xml-&gt;build(); ``` 这将生成如下XML字符串: ```xml &lt;element1&gt;value1 &lt;element2&gt;value2&lt;/element2&gt; ``` 通过理解Array2xml类的工作原理和使用方法,开发者可以更有效地...

    php中Array2xml类实现数组转化成XML实例

    首先,我们创建一个名为`Array2xml`的类,该类有两个成员变量:`$xml`用于存储生成的XML字符串。类中包含两个方法:`array2xml()`和`getXml()`。 `array2xml()`方法是核心函数,它接受一个数组作为参数,并根据数组...

    array2xml2array

    本类支持无限极数组生成xml,或者xml生成数组

    探讨:array2xml和xml2array以及xml与array的互相转化

    本文将详细介绍`array2xml`和`xml2array`这两个函数,以及如何实现XML和数组之间的互相转化。 首先,我们来看`array2xml`函数。这个函数的作用是将一个简单的PHP数组转换为XML字符串。例如,给定如下的数组: ```...

    php xml操作类

    php写的一个 xml操作类 可以序列化和串行化 支持 array2xml和 xml2array

    lalit:http提供的XML2Array类的GitHub副本

    基本代码由Lalit Patel开发,可从获得 XML2Array: : Array2XML: : 我已经通过生成器添加了额外的单元测试(所以可能测试太多了)版本记录请阅读CHANGELOG文档。 @去做在XML内添加对&lt;!-- comments --&gt;支持,...

    Flex中Tree组件的数据源举例(xml,array,object)

    本篇将详细介绍如何为Flex中的Tree组件设置不同的数据源,包括XML、Array和Object。 首先,让我们从XML数据源开始。XML因其结构化的特性,非常适合用来表示层次数据。在Flex中,我们可以使用mx.collections....

    用 PHP 读取和编写 XML DOM

    `array2xml.php`文件可能包含一个函数,该函数接收数组并生成相应的XML结构。这里是一个简单的实现示例: ```php function array_to_xml($data, &$domElement) { foreach ($data as $key =&gt; $value) { if (is_...

    php xml 转json和array

    在提供的压缩包中,有两个PHP文件:`xml2json0.php`和`Xmltoarray.php`。`xml2json0.php`可能是一个实现XML到JSON转换的脚本,而`Xmltoarray.php`则可能是将XML转换为数组的实现。这两个文件可以作为实际操作的例子...

    PHP实现数组array转换成xml的方法

    这个方法主要通过递归函数`array_Xml()`来实现。 首先,我们来看一下核心的`array_Xml()`函数: ```php function array_Xml($array, $keys = '') { global $elementLevel; // 非数组处理 if (!is_array($...

    android数组资源string-array integer-array的用法

    本篇文章将深入探讨`string-array`和`integer-array`的用法,以及如何在XML中定义和使用它们。 首先,`string-array`是Android中用于存储字符串数组的资源。在Android的资源XML文件(通常位于res/values/strings....

    php实现的数组转xml案例分析

    0x01 array2xml 搜索了一下,还真有地址为git,于是开始撸起袖子开始干。 示例如下: THE CODE: $xml = new ArrayToXML(); print $xml-&gt;buildXML($input); INPUT: $input = array('product' =&gt; array

    PHP 数组与Xml转换

    在 PHP 中,数组和 XML 之间的转换是一种常见的需求,特别是在数据交换、存储或者解析 XML 文件时。本篇文章将深入探讨如何在 PHP 中实现数组到 XML 的转换,并提供两种不同的实现方式。 首先,我们来看第一种方法...

    array-to-xml:将数组转换为xml的简单类

    composer require spatie/array-to-xml用法use Spatie \ ArrayToXml \ ArrayToXml ;. . .$ array = [ 'Good guy' =&gt; [ 'name' =&gt; 'Luke Skywalker' , 'weapon' =&gt; 'Lightsaber' ], 'Bad guy' =&gt; [ 'name' =&gt; '...

    php xml转数组

    $xmlString = '&lt;root&gt;&lt;item id="1"&gt;Item 1&lt;/item&gt;&lt;item id="2"&gt;Item 2&lt;/item&gt;&lt;/root&gt;'; $doc = new DOMDocument(); ``` 这里,我们首先创建了一个`DOMDocument`对象,然后加载XML字符串。 2. **加载XML数据**:...

    xml-to-array:将xml转换为数组的简单类

    将xml转换为数组 该软件包提供了一个非常简单的类,可以将xml字符串转换为数组。...use Vyuldashev \ XmlToArray \ XmlToArray ; $ xml = ' &lt;name&gt;Luke Skywalker &lt;weapon&gt;Lightsaber &lt;bad_g

    PHP如何将XML转成数组

    - php中Array2xml类实现数组转化成XML实例:通过自定义类实现数组到XML的转换。 - php实现xml转换数组的方法示例:展示了如何使用PHP的DOMDocument和DOMElement类进行转换。 - PHP实现数组array转换成xml的方法:...

    java XML转成LIST可以转成指定的类数组

    在Java编程中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它结构清晰、易于阅读,常用于存储和传输数据。当处理XML文件时,有时我们需要将其内容转换为Java对象,如List,以便于操作和处理。本篇...

Global site tag (gtag.js) - Google Analytics