说我有XML:
<root>
<nodeA />
<nodeA />
<nodeA />
<nodeC />
<nodeC />
<nodeC />
</root>
如何在As和C之间插入“ nodeB”?在PHP中,最好通过SimpleXML?喜欢:
<root>
<nodeA />
<nodeA />
<nodeA />
<nodeB />
<nodeC />
<nodeC />
<nodeC />
</root>
以下是在其他一些SimpleXMLElement之后插入新的SimpleXMLElement的函数。由于使用SimpleXML不可能直接做到这一点,因此它在幕后使用了一些DOM类/方法来完成工作。
function simplexml_insert_after(SimpleXMLElement $insert, SimpleXMLElement $target)
{
$target_dom = dom_import_simplexml($target);
$insert_dom = $target_dom->ownerDocument->importNode(dom_import_simplexml($insert), true);
if ($target_dom->nextSibling) {
return $target_dom->parentNode->insertBefore($insert_dom, $target_dom->nextSibling);
} else {
return $target_dom->parentNode->appendChild($insert_dom);
}
}
以及如何使用它的示例(特定于您的问题):
$sxe = new SimpleXMLElement('<root><nodeA/><nodeA/><nodeA/><nodeC/><nodeC/><nodeC/></root>');
// New element to be inserted
$insert = new SimpleXMLElement("<nodeB/>");
// Get the last nodeA element
$target = current($sxe->xpath('//nodeA[last()]'));
// Insert the new element after the last nodeA
simplexml_insert_after($insert, $target);
// Peek at the new XML
echo $sxe->asXML();
如果您想/需要解释它是 如何 工作的(代码相当简单,但可能包含外国概念),只需询问即可。
我真的需要一些帮助来解决我已经努力了几天的地址簿程序。我正在用C语言处理双向链表。我试图在用户输入的位置将节点添加到列表中,从位置0开始。位置将不会被输入超出范围。(在位置0等位置之前,位置1没有插入)但是位置可以重复:将新节点插入在前一个位置占用者之前的位置。(例如:如果位置1有x,并且新节点插入位置1有y,则位置1现在有y,位置2有x) 我需要获取用户输入的位置号,并检索该位置的当前人员,但我
我想写一个函数,将一个节点添加到一个树中,该树以根、节点的值、我想添加新节点的节点的值和一个数字作为参数,根据该数字我将节点添加为左或右子节点(偶数=右子节点,奇数=左子节点)。我不明白我错在哪里,这与BST的概念相同,只是其他条件。如果有任何帮助,我将不胜感激。 例如: Tnode*insert(Tnode*root,int data,int father,int leftOrRight);插入
问题内容: 我正在编写一个脚本,要求我在配置文件的特定部分中添加行。例如 之前: 后: 如您所见,添加了新行。我的bash脚本如何插入行?我猜我将需要使用sed。 问题答案: 如果要在特定字符串匹配之后添加一行:
问题内容: 假设我有一个大小为n的对象的ArrayList。现在,我想在特定位置插入另一个对象,比方说在索引位置k(大于0且小于n),并且我希望索引位置k或之后的其他对象向前移动一个索引位置。因此,有什么方法可以直接在Java中执行此操作。实际上,我想在添加新对象时保持列表排序。 问题答案: 要 插入 的特定索引,使用值到ArrayList中: 此方法将移动列表的后续元素。但是您不能保证列表会保持
问题内容: 我正在尝试在Java字节变量中设置位。它确实提供了类似的适当方法。有人知道我该怎么实现吗? 我可以逐位遍历给定的字节: 但是我不能将此位置设置为1或0,可以吗? 问题答案: 使用按位 OR ()和 AND ()运算符。要设置一点,即将其转到: 取消设置或将其转到: 有关示例,请参见高级Java /按位运算符。
问题内容: 有没有可以做到这一点的PHP函数? 我用来获取子字符串的位置,我想在该位置之后插入一个。 问题答案: $newstr = substr_replace($oldstr, $str_to_insert, $pos, 0);