PHP 的 SimpleXML 不保存编辑后的数据

发布于 2024-09-24 09:21:36 字数 423 浏览 2 评论 0原文

我正在尝试编辑一些 xml 数据。之后我想将数据保存到文件中。

问题在于simplexml没有保存编辑后的数据,但节点已更改。

$spieler = $xml->xpath("/planer/spieltag[@datum='" .$_GET['date']. "']/spielerliste/spieler");

for ( $i = 1; $i < 13; $i++ ){
    if (!empty($_POST['spieler' .$i ])){
        $spieler[$i-1] = $_POST['spieler' .$i];
    }
}
var_dump($spieler);
$xml->asXML("data.xml");

var_dump() 显示新数据,但 asXML() 不显示。

I'm trying to edit some xml data. After this I want to save the data to file.

The problem is that the edited data isn't saved by simplexml but the node has changed.

$spieler = $xml->xpath("/planer/spieltag[@datum='" .$_GET['date']. "']/spielerliste/spieler");

for ( $i = 1; $i < 13; $i++ ){
    if (!empty($_POST['spieler' .$i ])){
        $spieler[$i-1] = $_POST['spieler' .$i];
    }
}
var_dump($spieler);
$xml->asXML("data.xml");

var_dump() shows the new data, but asXML() doesn't.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

爺獨霸怡葒院 2024-10-01 09:21:36

确保您的脚本具有对 data.xml 的写入权限

Make sure your script has write permission to data.xml

童话 2024-10-01 09:21:36

XPath 结果数组元素不是对实际树节点的 PHP ($ref = &$var) 引用,因此这一行

    $spieler[$i-1] = $_POST['spieler' .$i];

不会修改树中的任何内容,您只需覆盖完全独立的数组中的条目。

The XPath result array elements aren't PHP ($ref = &$var) references to the actual tree nodes, so this line

    $spieler[$i-1] = $_POST['spieler' .$i];

isn't modifying anything in the tree, you're simply overwriting an entry in a completely independent array.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文