Сведения о вопросе

Fedya

21:21, 25th August, 2020

Теги

php   xml   dom    

Определите Родительский Узел Элемента DOMElement

Просмотров: 459   Ответов: 3

Я перевожу свой код C# для YouTube видео-комментариев в PHP. Чтобы правильно вложить ответы на комментарии, мне нужно перестроить узлы XML. В PHP я использую DOMDocument и DOMXPath, что близко соответствует C# XmlDocument. Я довольно далеко продвинулся в своем переводе, но теперь я застрял на получении родительского узла a DOMElement. В DOMElement не имеет свойства parent_node(), только DOMNode предусматривает, что собственность.

После определения того, что комментарий является ответом на предыдущий комментарий, основанный на строке "in-reply-to" в элементе ссылки, мне нужно получить его родительский узел, чтобы вложить его под комментарий, на который он отвечает:

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



  Сведения об ответе

VCe znayu

14:51, 17th August, 2020

DOMElement является подклассом DOMNode, поэтому он имеет свойство parent_node. Просто используйте $domNode->parentNode;, чтобы найти родительский узел.

В вашем примере родительским узлом $importnode является null, поскольку он был импортирован в документ и поэтому еще не имеет родительского узла. Вам нужно прикрепить его к другому элементу, прежде чем он будет иметь родителя.


  Сведения об ответе

padenie

15:48, 27th August, 2020

Я не совсем уверен, как работает ваш код, но похоже, что у вас есть небольшая ошибка в коде.

В строке, которую вы разместили в своем вопросе, у вас есть $link->parent_node() , но в ответе со всем фрагментом кода у вас есть $link**s**->parent_node() .

Я не думаю, что s должен быть там.

Кроме того, я думаю, что вы должны использовать $link->parentNode,, а не $link->parent_node().


  Сведения об ответе

KOMP

11:27, 1st August, 2020

Заменить parent_node() на parentNode


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться