gpt4 book ai didi

php - 使用带有索引位置的 addChild

转载 作者:行者123 更新时间:2023-12-04 06:48:44 27 4
gpt4 key购买 nike

添加子节点时,如何根据其兄弟节点选择它的位置?

这是一个例子:

<?php
$_XML = ' <Test>
<Menu>
<Link href="page1.htm" />
<Link href="page2.htm" />
<Link href="page4.htm" />
</Menu>
</Test>';

$_RenderedXML = new SimpleXMLElement($_XML);

//Add a new Link node
$_NewLink = $_RenderedXML->Menu->addChild("Link");
$_NewLink->addAttribute("href", "page3.htm");

echo $_RenderedXML->asXML();
?>

这将使用其同级下方的新节点呈现 XML。
我想说明它的位置。
addChild("Link", 2) //or something.

最佳答案

我知道Artefacto's answer已经被接受,但它看起来做的工作比需要的多。一个更简单的替代方案,使用他的函数签名,可能看起来像下面的函数。

function addchild_at(SimpleXMLElement $sxml, $tagname, $i)
{
$parent = dom_import_simplexml($sxml);
$child = $parent->ownerDocument->createElement($tagname);
$target = $parent->getElementsByTagname('*')->item($i);
if ($target === NULL) {
$parent->appendChild($child);
} else {
$parent->insertBefore($child, $target);
}
}

关于php - 使用带有索引位置的 addChild,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3432358/

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