gpt4 book ai didi

PHP DOM 追加新行的 child

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:58:36 25 4
gpt4 key购买 nike

我叫 Rithy。

我不知道如何在 xml 中追加新节点或元素之前添加新行。

我的 php:

$dom = new DOMDocument();

$dom->formatOutput = true;

$dom->preserveWhiteSpace = true;

$dom->load($xml_file);

$body = $dom->getElementsByTagName('body')->item(0);

$newelement_seg = $dom->createElement('seg');

$data = $dom->createTextNode(" text 2 ");

$newelement_seg->appendChild($data);

$body->appendChild($newelement_seg);

$dom->save($xml_file);

XML 在追加一个新的 child 之前:

<?xml version="1.0" encoding="UTF-8"?>
<body>
<seg>
text 1
</seg>
</body>
</xml>

追加新 child 后的 XML:

<?xml version="1.0" encoding="UTF-8"?>
<body>
<seg>
text 1
</seg>
<seg>
text 2
</seg>
</body>
</xml>

但我想要:

<?xml version="1.0" encoding="UTF-8"?>
<body>
<seg>
text 1
</seg>
<seg>
text 2
</seg>
</body>
</xml>
<hr/>

提前致谢!

最佳答案

总结给出的答案:

  1. 您必须将 formatOutput 设置为 true

  2. 你必须将 ignoreWhiteSpace 设置为 false

即:

$dom = new DomDocument();
$dom->formatOutput = true;
$dom->preserveWhiteSpace = false;
$dom->load($myxmlfile);

关于PHP DOM 追加新行的 child ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3155030/

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