本人专业搞前端的,现在上头要我做个东西,没有思路,小弟初学PHP,求大牛指点,感激不尽,具体如下
有一个XML文件
<?xml version="1.0" encoding="utf-8"?>
<top>
<middle1 config="no">text1</middle1>
<middle2 config="no">text2</middle2>
<middle3 config="yes">text3</middle3>
<middle4 config="yes">text4</middle4>
</top>
我们需要做的是:
(1)生成一个表单,XML中有多少config="yse"的,表单中就对应有几个输入框
(2)用户在生成的表单输入框中输入数值,点击按钮,对应的文本即被修改为对应输入框中的值
看功能似乎不难,但是没有思路和逻辑,,这个对我很重要,要在3天内完成,压力很大~~~

解决方案 »

  1.   

    的确不太好弄,如果改成这样,就简单多了<?xml version="1.0" encoding="utf-8"?>
    <top>
    <middle id="1" config="no">text1</middle>
    <middle id="2" config="no">text2</middle>
    <middle id="3" config="yes">text3</middle>
    <middle id="4" config="yes">text4</middle>
    </top>
      

  2.   


    $xml = <<<xml
    <?xml version="1.0" encoding="utf-8"?>
    <top>
    <middle1 config="no">text1</middle1>
    <middle2 config="no">text2</middle2>
    <middle3 config="yes">text3</middle3>
    <middle4 config="yes">text4</middle4>
    </top>
    xml;
    $parser = xml_parser_create();
    xml_parse_into_struct($parser, $xml, $values, $index);
    xml_parser_free($parser);$config = array();
    foreach ($values as $value) {
    //    if (strpos($value['tag'], 'MIDDLE') === 0 && $value['attributes']['CONFIG'] == 'yes') {
        if ($value['level'] == 2 && $value['attributes']['CONFIG'] == 'yes') {
            $config[] = array(
                'tag'       => $value['tag'],
                'config'    => $value['attributes']['CONFIG'],
                'value'     => $value['value']
            );
        }
    }echo '<pre>';print_r($config);/**
    此时输出:
    Array
    (
        [0] => Array
            (
                [tag] => MIDDLE3
                [config] => yes
                [value] => text3
            )    [1] => Array
            (
                [tag] => MIDDLE4
                [config] => yes
                [value] => text4
            ))
    *///接下来你应该知道咱们做了吧,其实上面的方法只是众多发放中的一种,看来你的xml还是比较有规律的,只要有规律其实很好实现的
      

  3.   

    给的XML文件是一个配置文件,不知道几位说的规律是什么意思,再给出一段<?xml version="1.0" encoding="utf-8"?>
    <top>
    <middle1 config="no">text1</middle1>
    <middle2 config="yes">
    <value>1111</value>
    <value>2222</value>
    </middle2>
    </top> 把三楼的代码中XML换成要使用的XML,输出为空,不知道是什么原因,苦逼纠结中,求大神继续指点!!!
      

  4.   

    好的,我仔细说一遍,现在给你一个XML文件<?xml version="1.0" encoding="utf-8"?>
    <top>
    <middle name="m1" type="char" config="yes">text1</middle>
    <middle name="m2" type="int" config="no">text2</middle>
    <middle name="m3" type="char" config="yes">text3</middle>
    <middle name="m4" type="char" config="yes">text4</middle>
    </top>要求用PHP写一个界面来配置上面的XML
    标签里属性config='yes'才可以配置,其他不可以配置
    比如上述XML就应该生成这样的一个界面text框里的值是后输入的,点击提交后,对应的XML则被修改为:
    <?xml version="1.0" encoding="utf-8"?>
    <top>
    <middle name="m1" type="char" config="yes">aaaa</middle>
    <middle name="m2" type="int" config="no">text2</middle>
    <middle name="m3" type="char" config="yes">bbbb</middle>
    <middle name="m4" type="char" config="yes">cccc</middle>
    大体就是这些,哪里不明白再问我
    </top>
      

  5.   

    为啥你5楼,4楼和顶楼的xml都不一样?另外你 
       <middle2 config="yes">
            <value>1111</value>
            <value>2222</value>
        </middle2>
    这样的如何处理? 生成一个select? 3楼已经给了你一个大体的框架, 你接着修改调试就行了,
    你是搞前端的,后面的事情对你不难