SimpleXML如何在节点中添加子级?

SimpleXML如何在节点中添加子级?,第1张

SimpleXML如何在节点中添加子级?

如前所述,SimpleXML不支持该功能,因此您必须使用DOM。我的建议是:用程序中需要使用的任何内容扩展SimpleXMLElement。这样,您可以将所有DOM *** 作和其他XML魔术保留在实际程序之外。通过将两个问题分开,可以提高可读性和可维护性

以下是使用新方法prependChild()扩展SimpleXMLElement的方法:

class my_node extends SimpleXMLElement{    public function prependChild($name, $value)    {        $dom = dom_import_simplexml($this);        $new = $dom->insertBefore( $dom->ownerdocument->createElement($name, $value), $dom->firstChild        );        return simplexml_import_dom($new, get_class($this));    }}$actors = simplexml_load_string(    '<actors>        <actor>Al Pacino</actor>        <actor>Zsa Zsa Gabor</actor>    </actors>',    'my_node');$actors->addChild('actor', 'John Doe - last');$actors->prependChild('actor', 'John Doe - first');die($actors->asXML());


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5621516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存