【发布时间】:2021-12-31 04:14:39
【问题描述】:
假设我有以下 .xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<item>
<name>Foo</name>
</item>
<item>
<name>Bar</name>
</item>
</root>
在此示例文件中,我尝试在最后一个节点 <item> 之后将新节点 <item> 附加到节点 <root>。
我正在尝试在 .xml 文件的 <root> 节点中的最后一个 <item> 节点之后追加新创建的 <item> 节点。
<?php
$file = new DOMDocument;
$file->load("xml.xml");
$file->loadXML($file->saveXML());
$root = $file->getElementsByTagName('root')->item(0);
foreach (["Foo_1", "Bar_2", "Foo_3", "Bar_4"] as $val) {
$item = new DOMElement('item');
$item->appendChild(new DOMElement('name', $val));
$root->appendChild(item);
}
?>
但我收到一个错误:
致命错误:未捕获的错误:调用 C:\Users\pfort\Desktop\p.php:12 中为 null 的成员函数 appendChild() 堆栈跟踪: #0 {主要} 在第 12 行的 C:\Users\user_acer\Desktop\p.php 中抛出
我做错了什么?
【问题讨论】:
标签: php xml domdocument