gpt4 book ai didi

php - 交替出现错误(文档末尾的额外内容)

转载 作者:行者123 更新时间:2023-12-04 05:20:07 26 4
gpt4 key购买 nike

加载 xml 文件时出现错误。我得到了许多与该主题相关的答案,但我真的找不到为什么这个错误可能会出现在我的文件中。

Warning: DOMDocument::load() [<a href='domdocument.load'>domdocument.load</a>]: Extra content at the end of the document 

当我运行文件时,它运行成功,但是当我重新加载它时,它给出了上述错误而不是添加另一个节点。但是,下次当我重新加载它时,它会再次成功运行。这是交替发生的。请有人告诉我为什么会发生这种情况以及如何解决问题。

我正在使用此 php 代码来编辑 xml 文件:
<?php
$dom = new DomDocument("1.0", "UTF-8");
$dom->load('filename.xml');

$noteElem = $dom->createElement('note');
$toElem = $dom->createElement('to', 'Chikck');
$fromElem = $dom->createElement('from', 'ewrw');

$noteElem->appendChild($toElem);
$noteElem->appendChild($fromElem);

$dom->appendChild($noteElem);
$dom->formatOutput = TRUE;
//$xmlString = $dom->saveXML();
//echo $xmlString;
$dom->save('filename.xml');
?>

这是我正在编辑的 xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<note>
<to>Chikck</to>
<from>ewrw</from>
</note>

最佳答案

额外的内容错误是由两个相同的节点引起的,在这种情况下是 note节点,作为根元素。

您可以添加一个新的根元素 notes例如,然后添加更多 note里面的元素。

下面是一个使用 simplexml 库的例子(只是因为我使用了这个并且我很熟悉它)

新的 filename2.xml:(添加 notes 元素作为根)

<?xml version="1.0" encoding="UTF-8"?>
<notes>
<note>
<to>Chikck</to>
<from>ewrw</from>
</note>
</notes>

PHP脚本:
<?php
$xml = simplexml_load_file('filename2.xml');
$note = $xml->addChild('note');
$to = $note->addchild('to', 'Chikck');
$from = $note->addChild('from', 'ewrw');
$xml->asXML('filename2.xml');
?>

运行脚本后的 filename2.xml:
<?xml version="1.0" encoding="UTF-8"?>
<notes>
<note>
<to>Chikck</to>
<from>ewrw</from>
</note>
<note>
<to>Chikck</to>
<from>ewrw</from>
</note>
</notes>

关于php - 交替出现错误(文档末尾的额外内容),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13785933/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com