使用WPAllExport进行XML导出的问题

时间:2018-09-11 14:46:55

标签: php xml wordpress

我正在使用wpallexport插件执行自定义XML导出。 我的情况是,我导出了一个多复选框。如果导出仅选中一个元素的复选框,则它是字符串,如果更多,则是数组。 问题是我通过PHP函数对XML进行了自定义样式。

我以某种方式做错了。这是代码片段

XML:

            [befeuerung({fave_property_befeuerung})]

功能:

function befeuerung($meinArray){
        $array = array(
                        "OEL" => 0,
                        "GAS" => 0,
                        "ELEKTRO" => 0,
                        "ALTERNATIV" => 0,
                        "SOLAR" => 0,
                        "ERDWAERME" => 0,
                        "LUFTWP" => 0,
                        "FERN" => 0,
                        "HOLZ" => 0,
                        "BLOCK" => 0,
                        "WASSER-ELEKTRO" => 0,
                        "PELLET" => 0,
        );

            if (is_array($meinArray)) {

                            if (in_array('Ol', $meinArray)) {
                                            $array['OEL'] = 1;
                            }

                            if (in_array('Gas', $meinArray)) {
                                            $array['GAS'] = 1;
                            }
                            if (in_array('Holz', $meinArray)) {
                                            $array['HOLZ'] = 1;
                            }

                            if (in_array('Strom', $meinArray)) {
                                            $array['ELEKTRO'] = 1;
                            }

                            if (in_array('Alternativ', $meinArray)) {
                                            $array['ALTERNATIV'] = 1;
                            }

                            if (in_array('Solar', $meinArray)) {
                                            $array['SOLAR'] = 1;
                            }
                            if (in_array('Erdwarme', $meinArray)) {
                                            $array['ERDWAERME'] = 1;
                            }

                            if (in_array('Luftwarmepumpe', $meinArray)) {
                                            $array['LUFTWP'] = 1;
                            }

                            if (in_array('Blockheizkraftwerk', $meinArray)) {
                                            $array['BLOCK'] = 1;
                            }

                            if (in_array('Fernwarme', $meinArray)) {
                                            $array['FERN'] = 1;
                            }

                            if (in_array('Pellets', $meinArray)) {
                                            $array['PELLET'] = 1;
                            }
            } elseif (is_string($meinArray)){


                            if (strpos($meinArray, 'Ol') == true) {
                                            $array['OEL'] = 1;
                            }

                            if (strpos($meinArray, 'Gas') == true) {
                                            $array['GAS'] = 1;
                            }
                            if (strpos($meinArray, 'Holz') == true) {
                                            $array['HOLZ'] = 1;
                            }

                            if (strpos($meinArray, 'Strom') == true) {
                                            $array['ELEKTRO'] = 1;
                            }

                            if (strpos($meinArray, 'Alternativ') == true) {
                                            $array['ALTERNATIV'] = 1;
                            }

                            if (strpos($meinArray, 'Solar') == true) {
                                            $array['SOLAR'] = 1;
                            }

                            if (strpos($meinArray, 'Erdwarme') == true) {

                                            $array['ERDWAERME'] = 1;
                            }

                            if (strpos($meinArray, 'Luftwarmepumpe') == true) {
                                            $array['LUFTWP'] = 1;
                            }

                            if (strpos($meinArray, 'Blockheizkraftwerk') == true) {
                                            $array['BLOCK'] = 1;
                            }

                            if (strpos($meinArray, 'Fernwarme') == true) {
                                            $array['FERN'] = 1;
                            }

                            if (strpos($meinArray, 'Pellets') == true) {
                                            $array['PELLET'] = 1;
                            }
            }


            //<befeuerung OEL="0" GAS="1" ELEKTRO="0" ALTERNATIV="0" SOLAR="1" ERDWAERME="0" LUFTWP="0" FERN="0" BLOCK="0" WASSER-ELEKTRO="0" PELLET="0" />

            return ('<befeuerung OEL="' . ($array['OEL']) . '" BLOCK="' . ($array['BLOCK']) . '" GAS="' . ($array['GAS']) . '" ERDWAERME="' . ($array['ERDWAERME']) . '" ELEKTRO="' . ($array['ELEKTRO']) . '" ALTERNATIV="' . ($array['ALTERNATIV']) . '" SOLAR="' . ($array['SOLAR']) . '" LUFTWP="' . ($array['LUFTWP']) . '" HOLZ="' . ($array['HOLZ']) . '" FERN="' . ($array['FERN']) . '" PELLET="' . ($array['PELLET']) . '" />');
}

如果它似乎是一个数组,那么一切都会正常进行,但是,如果它似乎是一个字符串值,那么我每次都会得到返回,例如:xyz = 0

0 个答案:

没有答案