阅读 - 在PHP中动态编写XML

时间:2018-03-31 00:35:56

标签: php xml dynamic save

我遇到了以下问题:

我正在读取现有的xml文件:

<?php
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    //Deks.
    $xml = simplexml_load_file( "FILE" ) or die (" Couldnt load. ");
    foreach ($xml->children() as $one){
        foreach ($one->children() as $two ){
            foreach($two->children() as $three ){
                $array = array();
                foreach ($three as $key => $value ){
                    $array[ ( string ) $key ] = ( string )$value;
                    echo $key . ' = ' . $value . '<br />';
                }
            }
        }
    }
?>

所以我得到了我需要的输出。

我的XML看起来像这样:

<overx>
    <overy>
        <katx>
            <katy>
                <rnd>true</rndm>
            </katy>
            <rely>
                <lwm>true</lwm>
            </rely>
        </katx>
    </overy>
</overy>

xml文件大量缩短。大多数孩子的孩子也有不同的名字。

现在我想创建一个动态读取xml表单的html表单。 这就是我这样做的方式:

<?php
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
    $form_fields  = null;
    $xml = simplexml_load_file( "FILE" ) or die (" Couldnt load. ");
    foreach ( $xml->children() as $one){
        foreach ( $one->children() as $two ){
            foreach( $two->children() as $three ){
                $array = array();
                foreach ( $three as $field ){
                    $form_fields .= '<div>';
                    $form_fields .=  '<label>' . ucfirst($field->getName()) . ' </label>';
                    if ($field->getName() == "active" ){
                        $form_fields .=  '<input type="checkbox" value="true"'.$field->getName() . '" />';
                    }
                    else{
                        $form_fields .=  '<input type="text" name="'.$field->getName() . '" />';
                    }
                    $form_fields .= '</div>';
                }
            }
        }
    }
?>

但现在我有以下问题: 我想将表单保存为.xml,其结构与从其加载的XML完全相同。实际上,我通过javascript保存得很差,现在它只保存key-&gt;值而不是结构或其他任何东西,我真的不知道该怎么做。

提前致谢。

0 个答案:

没有答案