[英]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.