-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結構都是靜態的。但在我的情況下,這些層次是動態的,即可能有無限的「容器」節點。所以指定節點路徑'$電影 - >電影 - >字符 - >字符'是不可能的。 –