質問: $dom->getElementsByTagName("xbrl"); var_dump($root); //出力結果 //object(DOMNodeList)#3 (1) { ["length"]=> int(0) } ``` 上記の通り、出力の結果は空のオブジェクトが返ってきてしまいます。 ここで、 データが大量だったのでxbrlのタグだけを抜粋して、同じ手続を実施したところ、正しくノードを取得することができました。 量は10万行以上のコードで、エディターで閲覧していてもエディターが固まるほどです。。 従って、xmlのコード自体や上記のphpのコードには問題がないと思われるのですが、なぜか取得することできません。 あまりにもloadするXMLの量が大きすぎる場合には、適切にDOMでノードが取得できないというケース等ありえるのでしょうか? 普通に考えれば、object(DOMNodeList)#3 (1) { ["length"]=> int(0) }を返さずにerrorを投げてくるはずなのですが、他に思い当たる原因がなく、途方にくれてたため、お伺いさせて頂きました。 宜しくお願い申し上げます。
回答: `xbrl`要素が何かしらの名前空間に含まれている、ということはないですか? 名前空間付きのタグを取得したい場合、`getElementsByTagNameNS`の出番となります(PHPマニュアル)。