Я создаю веб-форму, в которой администраторы моего сайта могут добавлять XML в текстовую область и отправлять ее для хранения в таблицу базы данных, но я немного запутался в том, что такое лучший способ анализа XML.
Скрипт PHP должен проанализировать XML, и если есть какие-либо ошибки синтаксического анализа, он должен вернуть сообщение об ошибке и строку / столбец, где анализатор остановился, администратору, который отправил форму. После анализа он должен получить доступ к DOM, чтобы выполнить несколько проверок на наличие узлов и атрибутов с использованием XPath.
Если я использую xml_create_parser()
и xml_parse()
, я могу получить подробную информацию об ошибке, которую я получаю, если возвращается false. Однако я не могу получить доступ к DOM XML после того, как проанализирую его. Если я использую DOMDocument::loadXML()
, из того, что я прочитал, он не выдает исключений для ошибок разбора, он просто выводит их в журнал PHP.
Будет ли большой удар по производительности, если я сначала попробую xml_parse()
, а затем, если это удастся, запустите DOMDocument::loadXML()
, учитывая, что файлы в основном меньше 10 КБ, а несколько - 10-20 КБ? Кто-нибудь знает лучший способ?