我正在编写一个导入XML的任务。调试很痛苦,因为var_dump
和print_r
都会为DOMElement
和DOMNodeList
列表等DOM对象返回看似空的对象,这样看:
object(DOMElement)#330 (0) {}
object(DOMNodeList)#335 (0) {}
但是他们不是空的,因为我可以阅读这些值。
我改为使用哪些调试选项?
答案 0 :(得分:2)
对于使用xml输出的DomDocument
I var_dump
。
var_dump($dom->saveXML());
对于DOMElement
,我使用(as seen here):
var_dump($domElement->ownerDocument->saveXML($domElement));
但DOMNodeList
,我不知道。也许你必须将它附加/附加到DomDocument,然后var_dump它。
顺便说一下,没有显示DomDocument的内部结构是reported (here: Reflection)。
答案 1 :(得分:0)
解决方案:我编写了自己的监控功能'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.
}
希望这可以帮到你!