【发布时间】:2021-12-29 07:20:50
【问题描述】:
我正在通过 PHP 生成一个 XML 文件,我正在这样做:
$dom = new DOMDocument();
$root = $dom->createElement('Root');
...
// some node definitions here etc
$root->appendChild($product);
$root->appendChild($quantity);
$root->appendChild($measureUnit);
$root->appendChild($lineNumber);
...
$dom->appendChild($root);
$dom->save( '/some/dir/some-name.xml');
一切正常,直到我遇到一些问题,当我到达我需要附加的部分时,比如说N 子节点。这意味着我也将调用函数 appendChild() 'N' 次 - 这导致了一个非常长的 php 脚本,这有点难以维护。
我知道我们可以将主脚本拆分为较小的文件以便更好地维护,但是有更好的方法来“链接”“appendChild”调用,这样可以节省大量的书面行,或者有一些神奇的功能,例如'appendChildren' 可用吗?
这是我第一次使用DOMDocument() 类,希望有人能给我一些启发。
谢谢
【问题讨论】:
-
不,您不能链接 appendChild 调用,因为该方法返回的是附加的节点,而不是您附加到的节点。
-
您当然可以先将所有需要追加的节点粘贴到一个数组中 - 然后循环该数组,并为循环体内的当前节点调用 appendChild。
-
哦,谢谢!是的,我们只是在此期间将它循环到一个数组中。我真的以为我们做错了什么
标签: php xml domdocument