使用PHP更新XML节点
我有一个XML文件test.xml
<?xml version="1.0"?><info>
<user>
<name>
<firstname>FirstName</firstname>
<lastname>Last Name</lastname>
<nameCoordinate>
<xName>125</xName>
<yName>20</yName>
</nameCoordinate>
</name>
</user>
</info>
我正在尝试在表单提交中使用PHP更新节点xName和yName。因此,我已经使用simplexml_load_file()加载了文件。PHP表单操作代码如下
<?php $xPostName = $_POST['xName'];
$yPostName = $_POST['yName'];
//load xml file to edit
$xml = simplexml_load_file('test.xml');
$xml->info->user->name->nameCoordinate->xName = $xPostName;
$xml->info->user->name->nameCoordinate->yName = $yPostName;
echo "done";
?>
我想更新节点值,但是上面的代码似乎不正确。谁能帮助我纠正它?
更新:我的问题有点类似于使用PHP更新XML文件,但是在这里,我要从外部文件加载XML,同时还要更新元素而不是属性。那就是我的困惑所在。
回答:
您没有访问正确的节点。在您的示例中,$xml
保留根节点<info/>
。这里有个很好的提示:
,这样可以避免这种混淆。
另外,正如Ward Muylaert指出的那样,您需要保存文件。
这是更正的示例:
// load the document// the root node is <info/> so we load it into $info
$info = simplexml_load_file('test.xml');
// update
$info->user->name->nameCoordinate->xName = $xPostName;
$info->user->name->nameCoordinate->yName = $yPostName;
// save the updated document
$info->asXML('test.xml');
以上是 使用PHP更新XML节点 的全部内容, 来源链接: utcz.com/qa/405833.html