1

XMLをインポートするタスクを書いています。デバッグは苦痛であり、リストのようなDOMオブジェクトに対して一見空のオブジェクトを返すvar_dumpので、次のようになります。print_rDOMElementDOMNodeList

object(DOMElement)#330 (0) {}
object(DOMNodeList)#335 (0) {}

しかし、私は値を読み取ることができるので、それらは空ではありません。

代わりにどのようなデバッグオプションがありますか?

4

2 に答える 2

2

DomDocumentIの場合var_dump、xml 出力を使用します。

var_dump($dom->saveXML());

の場合DOMElement、私は(ここに見られるように)使用します:

var_dump($domElement->ownerDocument->saveXML($domElement));

しかしDOMNodeList、私にはわかりません。おそらく、それを DomDocument に添付/追加してから、var_dump する必要があります。

ところで、DomDocument の内部を表示しないことが報告されます (ここでは Reflection)

于 2012-04-18T15:26:00.360 に答える
1

解決策:私は独自の監視機能「dom_test」を書きました

    function dom_test($DOM) {
      echo '<h1>'.get_class($DOM).'</h1>';
      // easiest way to traverse:
      echo 'LENGTH: '. @$DOM->length ."\n"; // if NodeList
      echo 'TAG: '. @$DOM->tagName ."\n"; // if Element
      echo 'CHILDS: '. @$DOM->childNodes->length ."\n"; // etc.
    }

これがあなたを助けることを願っています!

于 2013-03-11T14:17:01.817 に答える