При получении nodeValue объекта DOMNode, у которого есть объекты в nodeValue (то есть a & gt;), он преобразует сущность в печатный символ (т.е.>)
Кто-нибудь знает способ заставить его сохранить его как сущность, он действительно запутывает сравнения строк, когда превращается во что-то неожиданное.
Следующий код воспроизводит проблему, вы заметите, что длина дампа равна 3, когда она должна быть 6.
<?php
$xml='<?xml version="1.0"?>
<root>
<element>></element>
</root>';
$a=new DOMDocument();
$a->loadXML($xml);
var_dump($a->childNodes->item(0)->nodeValue);