gpt4 book ai didi

PHP:从 DOMNode 对象中删除属性

转载 作者:行者123 更新时间:2023-12-04 13:05:07 30 4
gpt4 key购买 nike

我有一个具有某些属性的 DOMNode 对象。 $Node->attributes 是一个 DOMNamedNodeMap,它没有删除映射中的条目之一的方法。 DOMNode 类也没有从元素中删除属性的方法。我查看了许多其他相关类,但似乎没有一个提供从其父节点中删除属性节点的机制。

DOMNode::removeChild 不起作用;如果我将 DOMAttr 对象传递给它,它会抛出“未找到错误”。

除了构建一个新的 DOMNamedNodeMap 并向其添加所有属性除了我不想要的属性之外......有什么想法吗?谢谢。

最佳答案

如果您有一个具有某些属性的DOMNode,它必须是一个DOMElement。在这种情况下,您应该能够对其调用 removeAttribute/removeAttributeNS/removeAttributeNode

有点奇怪,PHP 的 DOMNamedNodeMap 记录了 getNamedItem[NS] 但不承认 setNamedItem[NS] 的存在removeNamedItem[NS],这是另一种方法。

DOMNode::removeChild 无法工作,因为 DOMAttr 不是另一个 DOMNode 的子节点; ‘attributes’childNodes 的独立空间。您也不能自行创建一个新的 NamedNodeMap 来写入 DOMNode::attributes,因为这是一个只读属性。

关于PHP:从 DOMNode 对象中删除属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/240185/

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