nodo modificar example ejemplo domelement php xml dom

modificar - php domdocument setattribute



Determinar el nodo primario de DOMElement (2)

Estoy traduciendo mi código C # para comentarios de videos de YouTube en PHP. Para anidar correctamente las respuestas de comentarios, necesito reorganizar los nodos XML. En PHP estoy usando DOMDocument y DOMXPath que se corresponde estrechamente con C # XmlDocument. Llegué bastante lejos en mi traducción, pero ahora estoy atascado en obtener el nodo padre de un elemento DOMElement. Un DOMElement no tiene una propiedad parent_node (), solo un DOMNode proporciona esa propiedad.

Después de determinar que un comentario es una respuesta a un comentario anterior basado en la cadena "in-reply-to" en un elemento de enlace, necesito obtener su nodo principal para anidarlo debajo del comentario al que responde:

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


No estoy del todo seguro de cómo funciona tu código, pero parece que tienes un pequeño error en tu código.

En la línea que publicó en su pregunta tiene $link->parent_node() , pero en la respuesta con el fragmento de código completo tiene $link**s**->parent_node() .

No creo que la s deba estar allí.

Además, creo que debería usar $ link-> parentNode, not $ link-> parent_node ().


DOMElement es una subclase de DOMNode , por lo que tiene la propiedad parent_node. Simplemente use $ domNode-> parentNode; para encontrar el nodo padre

En su ejemplo, el nodo principal de $ importnode es nulo, porque se ha importado al documento y, por lo tanto, aún no tiene un elemento primario. Debe adjuntarlo a otro elemento antes de que tenga un padre.