gpt4 book ai didi

php - SimpleXML:将一棵树附加到另一棵树

转载 作者:行者123 更新时间:2023-12-03 01:58:38 27 4
gpt4 key购买 nike

我有两棵 XML 树,想将一棵树作为叶子添加到另一棵树上。

显然:

$tree2->addChild('leaf', $tree1);

不起作用,因为它仅复制第一个根节点。

好吧,所以我想我应该遍历整个第一棵树,将每个元素逐一添加到第二棵树中。

但请考虑这样的 XML:

<root>
aaa
<bbb/>
ccc
</root>

如何访问“ccc”? tree1->children() 仅返回“bbb”... .

最佳答案

正如您所见,您不能直接使用 SimpleXML 添加“树”。但是,您可以使用一些 DOM 方法来为您完成繁重的工作,同时仍然处理相同的底层 XML。

$xmldict = new SimpleXMLElement('<dictionary><a/><b/><c/></dictionary>');
$kitty = new SimpleXMLElement('<cat><sound>meow</sound><texture>fuzzy</texture></cat>');

// Create new DOMElements from the two SimpleXMLElements
$domdict = dom_import_simplexml($xmldict->c);
$domcat = dom_import_simplexml($kitty);

// Import the <cat> into the dictionary document
$domcat = $domdict->ownerDocument->importNode($domcat, TRUE);

// Append the <cat> to <c> in the dictionary
$domdict->appendChild($domcat);

// We can still use SimpleXML! (meow)
echo $xmldict->c->cat->sound;

关于php - SimpleXML:将一棵树附加到另一棵树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3418019/

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