16

YouTube ビデオ コメント用の 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);
4

3 に答える 3

26

DOMElementは DOMNode のサブクラスなので、parent_node プロパティがあります。$domNode->parentNode; を使用するだけです。親ノードを見つけます。

あなたの例では、 $importnode の親ノードは null です。これは、ドキュメントにインポートされているため、まだ親を持っていないためです。親を持つ前に、別の要素にアタッチする必要があります。

于 2008-08-26T19:44:21.737 に答える
1

コードがどのように機能するかは完全にはわかりませんが、コードに小さなエラーがあるようです。

質問に投稿した行には がありますが$link->parent_node()、コード スニペット全体の回答には があります$link**s**->parent_node()

sそこにあるべきではないと思います。

また、$link->parent_node() ではなく、$link->parentNode を使用する必要があると思います。

于 2008-08-26T20:07:43.350 に答える