当前位置: 首页 > 面试题库 >

使用PHP更新XML节点

曾景龙
2023-03-14
问题内容

我有一个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/>。这里有个很好的提示:
始终在XML文档的根节点之后命名用于保存XML文档的变量 ,这样可以避免这种混淆。

另外,正如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');


 类似资料:
  • 我是XSLT新手。我想根据其他子节点的条件更改XML中的根节点。但子节点始终保持不变。例如,我有以下XML: 我喜欢将XML更改为: 这意味着依赖于<代码> 我不想在每个<代码>

  • 本文向大家介绍oracle更新xml节点问题的一些细节,包括了oracle更新xml节点问题的一些细节的使用技巧和注意事项,需要的朋友参考一下 有的节点是<emali/> 这样的,所以直接 是不能更新的 这样就能更新了

  • 问题内容: 我目前正在处理xml项目。到目前为止,我已经使用Dom Parser成功地将xml链接到java类。我在下面提供了代码。我正在努力的是将开始日期的月份更新一个月,因此类似2/1 / 2013、3 / 1/2013 …的内容将相应地在xml文件中更改。我在底部有方法调用,但是当我调用它时,xml文件不会更新它的值。帮助将不胜感激 之前的* data.xml * 想要data.xml 之后

  • 问题内容: 这可能是一个简单的问题,尽管无法弄清楚该怎么做。我想加载和修改xml文件,然后通过php保存xml。 这是代码: 这是save_xml.php的样子: 问题答案: 这是你想要的? 你们每个人都在迭代吗 您的代码成为 希望这可以帮助 编辑 要将其发布回服务器,我会这样做: 然后在PHP文件中 该代码未经测试,可能有多种原因导致其无法正常工作,对文件的写入权限等。

  • 在这里,我创建了一个表http://jsbin.com/ojanaji/13/edit和demo:http://jsbin.com/ojanaji/13 因此,当用户单击表上的某些行时,可以自动将表中的值填充到模式窗口中。当点击按钮“编辑行”时,用户打开模式窗口。现在我需要知道如何用列更新mysql表:姓名、性别、年龄、吃过的甜甜圈。 我创建js Ajax: HTML模式窗口和按钮: 那么我现在如

  • 我使用以下函数从密码保护的https url接收xml文件。 在我们的服务器将php更新到7.0版本之前,一切正常。22 在那之后,我再也不能接收xml文件了。我只是得到一个空洞的回答。有人知道为什么吗? 编辑:我不知道什么php版本安装之前,我们不能降级。