【问题标题】:Determine Parent Node Of DOMElement确定 DOMElement 的父节点
【发布时间】:2008-08-26 19:14:01
【问题描述】:

我正在将用于 YouTube 视频 cmets 的 C# 代码翻译成 PHP。为了正确嵌套评论回复,我需要重新排列 XML 节点。在 PHP 中,我使用与 C# XmlDocument 密切对应的 DOMDocument 和 DOMXPath。我的翻译已经走得很远了,但现在我被困在获取 DOMElement 的父节点上。 DOMElement 没有 parent_node() 属性,只有 DOMNode 提供该属性。

在根据链接元素中的字符串“in-reply-to”确定评论是对先前评论的回复后,我需要获取其父节点以便将其嵌套在回复的评论下方到:

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

【问题讨论】:

    标签: php xml dom


    【解决方案1】:

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

    在您的示例中,$importnode 的父节点为空,因为它已被导入到文档中,因此还没有父节点。在它有父元素之前,您需要将它附加到另一个元素。

    【讨论】:

    【解决方案2】:

    parent_node() 替换为parentNode

    【讨论】:

      【解决方案3】:

      我不完全确定您的代码是如何工作的,但您的代码中似乎有一个小错误。

      在您在问题中发布的行中,您有 $link->parent_node(),但在带有完整代码 sn-p 的答案中,您有 $link**s**->parent_node()

      我认为s 不应该在那里。

      另外,我认为你应该使用 $link->parentNode,而不是 $link->parent_node()。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-06
        • 2012-01-22
        • 2014-06-19
        • 2012-07-03
        • 1970-01-01
        • 2013-08-24
        相关资源
        最近更新 更多