XMLをインポートするタスクを書いています。デバッグは苦痛であり、リストのようなDOMオブジェクトに対して一見空のオブジェクトを返すvar_dump
ので、次のようになります。print_r
DOMElement
DOMNodeList
object(DOMElement)#330 (0) {}
object(DOMNodeList)#335 (0) {}
しかし、私は値を読み取ることができるので、それらは空ではありません。
代わりにどのようなデバッグオプションがありますか?
XMLをインポートするタスクを書いています。デバッグは苦痛であり、リストのようなDOMオブジェクトに対して一見空のオブジェクトを返すvar_dump
ので、次のようになります。print_r
DOMElement
DOMNodeList
object(DOMElement)#330 (0) {}
object(DOMNodeList)#335 (0) {}
しかし、私は値を読み取ることができるので、それらは空ではありません。
代わりにどのようなデバッグオプションがありますか?
DomDocument
Iの場合var_dump
、xml 出力を使用します。
var_dump($dom->saveXML());
の場合DOMElement
、私は(ここに見られるように)使用します:
var_dump($domElement->ownerDocument->saveXML($domElement));
しかしDOMNodeList
、私にはわかりません。おそらく、それを DomDocument に添付/追加してから、var_dump する必要があります。
ところで、DomDocument の内部を表示しないことが報告されます (ここでは Reflection)。
解決策:私は独自の監視機能「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.
}
これがあなたを助けることを願っています!