[英]trying to edit xml file using php simplexml
所以我試圖使用php的simplexml擴展名來編輯xml文件,但是當我嘗試使用xml文件時卻遇到了一些問題
$settings = simplexml_load_file("settings.xml");
....
if(isset($aInformation['cName']))
{
$settings->general->communityname = $aInformation['cName'];
$settings->asXML();
}
但是我在保存步驟上失敗了...
$settings = simplexml_load_file("settings.xml");
$xmlconfigs = new SimpleXMLElement($settings);
....
if(isset($aInformation['cName']))
{
$settings->general->communityname = $aInformation['cName'];
$xmlconfigs->asXML();
}
但我也因錯誤而失敗
String couldn't be parsed to XML...
並且我之前曾嘗試搜索這些帖子,但它們與我的失敗示例代碼相同,即使用simpleXML和PHP 編輯XML的東西SimpleXML錯誤更新xml文件
第二個是不可能的,因為SimpleXMLElement
只能采用格式正確的XML字符串或XML文檔的路徑或URL。 但是,您正在傳遞由simplexml_load_file
返回的類SimpleXMLElement
的對象。 這就是它拋出錯誤String couldn't be parsed to XML...
在第一個中, asXML()
方法接受一個可選的文件名作為參數,該參數會將當前結構作為XML保存到文件中。
如果未指定文件名,則此函數在成功時返回字符串,而在錯誤時返回
FALSE
。 如果指定了參數,則如果文件已成功寫入,則返回TRUE
,否則返回FALSE
。
因此,使用提示更新XML后,只需將其保存回文件即可。
$settings = simplexml_load_file("settings.xml");
....
if(isset($aInformation['cName']))
{
$settings->general->communityname = $aInformation['cName'];
// Saving the whole modified XML to a new filename
$settings->asXml('updated_settings.xml');
// Save only the modified node
$settings->general->communityname->asXml('settings.xml');
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.