我正在編寫導入XML的任務。調試是一個痛苦都var_dump
和DOM對象像DOMElement
和DOMNodeList
列表中,顯得那麼print_r
返回看似空無一物:如何調試看似空DOM對象?
object(DOMElement)#330 (0) {}
object(DOMNodeList)#335 (0) {}
但他們不是空的,因爲我可以讀出值。
什麼樣的調試選項有我呢?
我正在編寫導入XML的任務。調試是一個痛苦都var_dump
和DOM對象像DOMElement
和DOMNodeList
列表中,顯得那麼print_r
返回看似空無一物:如何調試看似空DOM對象?
object(DOMElement)#330 (0) {}
object(DOMNodeList)#335 (0) {}
但他們不是空的,因爲我可以讀出值。
什麼樣的調試選項有我呢?
有關使用xml輸出一個DomDocument
我var_dump
。
var_dump($dom->saveXML());
對於DOMElement
,我用(as seen here):
var_dump($domElement->ownerDocument->saveXML($domElement));
但DOMNodeList
,我不知道。也許你必須附加/附加到DomDocument,然後var_dump它。
而且順便說一句,一個DOMDocument沒有展示的內部是reported (here: 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.
}
希望能幫助你寫自己的監控功能!
升級到PHP 5.4,你會得到更多的信息,你的描述是隻與舊的PHP 5.3版本的情況。另請參見[在PHP中調試DOMDocument對象](http://stackoverflow.com/questions/684227/debug-a-domdocument-object-in-php)和[PHP XML如何輸出好格式](http:// stackoverflow.com/q/8615422/367456)。 – hakre 2012-05-13 15:05:59