确定 DOMElement 的父节点

2022-08-30 23:17:02

我正在将YouTube视频评论的C#代码转换为PHP。为了正确嵌套注释回复,我需要重新排列 XML 节点。在PHP中,我使用的是DOMDocument和DOMXPath,它们与C# XmlDocument非常接近。我已经在翻译中走了很远,但现在我被困在获取DOMElement的父节点上。DOMElement 没有 parent_node() 属性,只有 DOMNode 提供该属性。

在确定注释是基于链接元素中的字符串“in-reply-to”的先前注释的回复后,我需要获取其父节点,以便将其嵌套在它正在回复的注释下:

// Get the parent entry node of this link element
$importnode = $objReplyXML->importNode($link->parent_node(), true);

答案 1

DOMElementDOMNode的子类,因此它确实具有parent_node属性。只需使用$domNode->父母节点;以查找父节点。

在您的示例中,$importnode 的父节点为 null,因为它已导入到文档中,因此还没有父节点。您需要先将其附加到另一个元素,然后才能具有父元素。


答案 2

替换为parent_node()parentNode


推荐