-1
可能重复:
A simple program to CRUD node and node values of xml file更新XML节点在PHP
我无法在一个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,这是正常渲染。当管理员必须更新参数到小部件时,麻烦就开始了。为此,我提供了一个预览布局,管理员可以选择这些小部件的参数。
例如,当管理点击container>topbar>top_nav>menu
小部件的配置时,他将被提供所有可用的选项。但我还没有找到任何解决方案将新选定的值保存到该节点。
有没有人有任何想法如何做到这一点?
[编辑]主要问题是子元素可以是无限的。也可能有多个同一路径的子项容器>容器>小部件将在xml中重复可能的时间
我检查了这两个链接。它都没有显示如何到达指定的节点,特别是在像上面这样的xml结构中。你能提供一些代码片段或解释它的一些链接吗? –
您是否看到我的第三个链接?它有很多代码示例。我认为写价值的人会有所帮助。 http://www.php.net/manual/en/simplexml.examples-basic.php#example-5150 – jimp
谢谢@ jimp。这些例子帮助我更新了xml中的节点属性。但我仍然有一个问题找到正确的节点进行更新。在所有这些例子中,xml结构都是静态的。但在我的情况下,这些层次是动态的,即可能有无限的“容器”节点。所以指定节点路径'$电影 - >电影 - >字符 - >字符'是不可能的。 –