У меня есть страница php, которая анализирует некоторый текст xml. Этот текст поступает из пользовательского ввода в текстовом поле html.
Всякий раз, когда между узлами есть какие-либо пробелы, синтаксический анализатор Domdocument xml не может правильно проанализировать документ. По сути, он распознает первый узел, но любые вложенные узлы он не может найти.
Удаление пробелов, это работает без проблем.
$xmldoc = new DOMDocument();
$xmldoc->loadXML($rawxml);
$top = $xmldoc->documentElement;
if(!$top) {echo "error: xml config is empty"; exit(-1);}
if($top->nodeName != "config") die("error: expect config tag as first element");
$nameNode = $top->childNodes->item(0);
//Fails here
if($nameNode->nodeName != "name") die("error: expect name tag following config tag");
Работает
<config><name>sdf2</name></config>
не работает
<config> <name>sdf2</name></config>