1

私はこのような配列リストを持っています

    Array
(
    [351] => Array
        (
            [0] => Array
                (
                    [unit_id] => Array
                        (
                            [0] => 10192
                            [1] => 10192
                            [2] => 10192
                        )

                    [born_from] => Array
                        (
                            [0] => 1980-08-21
                        )

                    [born_to] => Array
                        (
                            [0] => 2010-08-18
                        )

                    [start_date] => Array
                        (
                            [0] => 2013-02-21 17:29:00
                        )

                    [sex] => Array
                        (
                            [0] => 3
                        )

                    [id] => 351
                    [product_id] => 1
                    [name] => test1
                )

        )

    [352] => Array
        (
            [0] => Array
                (
                    [unit_id] => Array
                        (
                            [0] => 10192
                            [1] => 10192
                            [2] => 10192
                        )

                    [born_from] => Array
                        (
                            [0] => 1985-01-01
                        )

                    [born_to] => Array
                        (
                            [0] => 2000-01-07
                        )

                    [sex] => Array
                        (
                            [0] => 2
                        )

                    [id] => 352
                    [product_id] => 2
                    [name] => Test2
                )

        )

)

この配列をxmlに変換するために、このコードがあります

$product_info = array($myPHPArray);

// creating object of SimpleXMLElement
$xml_product_info = new SimpleXMLElement("<?xml version=\"1.0\"?><product_info></product_info>");

// function call to convert array to xml
array_to_xml($product_info,$xml_product_info);

//saving generated xml file
$xml_product_info->asXML('C:/product.xml');


// function defination to convert array to xml
function array_to_xml($product_info, &$xml_product_info) {
    foreach($product_info as $key => $value) {
        if(is_array($value)) {
            if(!is_numeric($key)){
                $subnode = $xml_product_info->addChild("$key");
                array_to_xml($value, $subnode);
            }
            else{
                array_to_xml($value, $xml_product_info);
            }
        }
        else {
            $xml_product_info->addChild("$key","$value");
        }
    }
}

これは私にこのような出力を与えるでしょう

<?xml version="1.0"?>
<product_info>
<unit_id>
    <0>10192</0>
    <1>10192</1>
    <2>10192</2>
</unit_id>
<born_from>
    <0>1980-08-21</0>
</born_from>
<born_to>
    <0>2010-08-18</0>
</born_to>
<individual_strdt>
    <0>2013-02-21 17:29:00</0>
</individual_strdt>
<elite_sex>
    <0>3</0>
</elite_sex>
<id>351</id>
<product_id>1</product_id>
<name>test1</name>

// here it stars for 352
<unit_id>
    <0>10192</0>
    <1>10192</1>
    <2>10192</2>
</unit_id>
.
.
.
.
</product_info>

ここ

1)特定の要素の値を特定できず、351好き352 なはずです

<?xml version="1.0"?>
<product_info>
    <351>
    //data of 351
    </351>
    <352>
    //data of 352
    </352>
</product_info>

2)特定のサブ配列がxmlに変換されると<0>1092</0>、最終的なファイルのサイズが大きくなるようなデータを格納しています

3) このサブ配列のすべての値を属性として使用できますか??

4) このデータを整理する他のスマートな方法

私はxmlが初めてなので、新しいアイデアは大歓迎です

4

0 に答える 0