alexn
Guest
Траблы с Simple XML
Привет всем!
Я в одном своем проекте решил воспользоваться SimpleXML (на свою голову) - думал будет меньше ресурсов "кушать", быстрее ворочатся и т.п.
Все шло нормально, пока не возникла необходимость создавать новые узлы.
Нашел класс, расширяющий SimpleXML, который позволяет это делать: http://www.php.net/manual/ru/ref.simplexml.php#54486
Но у меня он вызывает Exception в $parent->appendChild($node); с кодом 4 "Wrong Document Error".
Непонятно, то-ли автор не проверил свой класс, прежде чем выложить его на общее обозрение, то-ли я что-то не так делаю.
Скачать файл для тестирования можно здесь:
http://www.axis.com.ua/alex/extendedSimpleXML.tgz
test1.php - это работа с классом в практически не измененном состоянии (добавлены только try и catch);
test2.php - я пробовал различные варианты изменения этого класса.
Мне очень хочется понять причину этого Exception!
P.S.: Не хочется мне сейчас отказываться от SImplXML и переводить все на DOM. Во-первых DOM - "тяжелее для сервера" (больше ресурсов требует), а во-вторых уже много сделано под SimplXML. Но если другого выхода не будет - придется перейти на DOM.
Привет всем!
Я в одном своем проекте решил воспользоваться SimpleXML (на свою голову) - думал будет меньше ресурсов "кушать", быстрее ворочатся и т.п.
Все шло нормально, пока не возникла необходимость создавать новые узлы.
Нашел класс, расширяющий SimpleXML, который позволяет это делать: http://www.php.net/manual/ru/ref.simplexml.php#54486
Но у меня он вызывает Exception в $parent->appendChild($node); с кодом 4 "Wrong Document Error".
Непонятно, то-ли автор не проверил свой класс, прежде чем выложить его на общее обозрение, то-ли я что-то не так делаю.
Скачать файл для тестирования можно здесь:
http://www.axis.com.ua/alex/extendedSimpleXML.tgz
test1.php - это работа с классом в практически не измененном состоянии (добавлены только try и catch);
test2.php - я пробовал различные варианты изменения этого класса.
Мне очень хочется понять причину этого Exception!
P.S.: Не хочется мне сейчас отказываться от SImplXML и переводить все на DOM. Во-первых DOM - "тяжелее для сервера" (больше ресурсов требует), а во-вторых уже много сделано под SimplXML. Но если другого выхода не будет - придется перейти на DOM.