【发布时间】:2020-11-10 04:55:50
【问题描述】:
我正在尝试将子元素附加到预加载的根元素,如下所示
$document = new DOMDocument('1.0', 'UTF-8');
$document->loadXML('<books></books>');
$content = '<books>
<book>
<athors>
<athor>
<name>John Doe</name>
</athor>
</athors>
</book>
</books>';
$books = new DOMDocument()
$books->loadXML($content);
foreach ($books as $book){
$document->appendChild($document->importNode( $book, true ));
}
由于某种原因,结果 xml 文档将如下所示,根元素的结束标记位于文档的开头:
<?xml version="1.0"?>
<books/>
<book>
<athors>
<athor>
<name>John Doe</name>
</athor>
</athors>
</book>
我希望它如下所示:
<?xml version="1.0"?>
<books>
<book>
<athors>
<athor>
<name>John Doe</name>
</athor>
</athors>
</book>
<books/>
【问题讨论】:
-
你到底想追加什么?之前和之后看起来一样。
-
@JackFleeting 第二行是
<books/>而不是<books> -
@Barmar 据我所知,
$content和预期输出的结构都是books/book/authors/author/name;但话说回来,这已经是漫长的一天了...... -
但是他得到的输出不是那个结构。他正在尝试将
$content合并到$document。 -
@Barmar 知道了;
$document起初是空的。正如我所说,漫长的一天......