在PHP中更新XML节点

时间:2012-10-02 04:56:56

标签: php xml xml-parsing

  

可能重复:
  A simple program to CRUD node and node values of xml file

我在更新xml文件中的节点时遇到问题。我的xml文件是这样的:                                                                              

    <container id="header"> 
        <widgetname="header" cache='true' cachetime='7200' ><parameter name="image" value="gnome"></parameter></widget>
    </container>

    <container id="nav_wrapper">    
        <container id="main_menu_container">
            <widget name="menu">
                <parameter name="menuid" value="9"></parameter>
            </widget>
        </container>
        <container id="search_wrapper">
            <widget name="search" cache='true' cachetime='7200' ></widget>
        </container>
    </container>

    <container class="subpage_wrapper">
        <container id="leftcol">
            <container class="subnav">
                <widget name="menu">
                    <parameter name="menuid" value="5"></parameter>
                </widget>
            </container>
        </container>
        <container id="rightcol">
            <page name="articlelist"></widget>
        </container>
    </container>
</container>
</layout>

整个页面的布局将根据此xml进行渲染,该xml正常工作。当管理员必须将参数更新到小部件时,麻烦就开始了。为此我提供了预览布局,管理员可以选择小部件的参数。

例如当管理员点击container>topbar>top_nav>menu小部件的配置时,他将获得所有可用选项。但我没有找到任何解决方案将新选择的值保存到该节点 有谁知道怎么做?

[编辑]主要问题是子元素可以是无限的。同样路径上可能有多个子项容器&gt;容器&gt;小部件将在xml中重复可能的次数

1 个答案:

答案 0 :(得分:1)

在PHP中编辑XML有很多选择。

查看PHP DOMSimpleXML

SimpleXML文档有很多例子。其中一个例子是writing values to the XML document