Как оптимальнее хранить сложносоставные страницы на сервере, при генерации XML из PHP?

программирование php базы данных xml web-строительство

Решил начать полноценно генерировать XML из PHP (с помощью DOMImplementation и saveXML) и столкнулся со сложностью: если в DIV, играющий роль контейнера для контента, попробовать вставить createTextNode с HTML-тегами, то на страницу теги попадают в виде "безопасных символов". Например тег BR выдаётся в код так: &lt;br /&gt; и на странице показывается так: <br /> (т.е. текстом, а не переводом строки).
Прошу подсказки: если желаю хранить код страниц вместе с тегами (тексты, перемежающиеся ссылками, узлам часто присваиваются ID для последующих манипуляций из JavaScript-а) в привычном виде, то как потом встроить его при формировании XML в скрипте?
Ну или как правильно хранить страницы изобилующие тегами и метками, чтобы потом максимально быстро отдавать их в XML-сборщик, не слишком загружая работой маломощный сервер?
Единственный вариант вижу: парсить заготовленный XML контента перед сборкой в другой, окончательный XML, но это ведь большая нагрузка при хорошей посещаемости сайта. Нужно, чтобы при сборке страницы тратилось минимум времени и производилось минимум действий на сервере.
Собирать XML-страницу на сервере - критично, т.к. это основа для дальнейших планов.

Примечание:
Epsiloncool, спасибо за совет! В данном случае мне критично собирать XML (дальше будет XSLT и SVG), потому попробую или найти функцию насильного подключения куска текста в дерево, или придётся кодировать блок перед выдачей клиенту, вставлять как мусор и декодировать на клиенте средставми JavaScript. Всё-равно "грязный" блок будет проиндексирован поисковиками, хотя замаскировать управляющие элементы будет непросто. :)
Ответы:
То, что у Вас createTextNode вставляет html-кусок как текст, вполне объяснимо. XML-библиотеки устроены так, что они не могут нарушить целостность структуры XML как бы вы не пытались это сделать. XML внутри них хранится в виде дерева нодов, поэтому для того, чтобы кусок текста стал поддеревом нодов, вы сперва должны преобразовать его в это поддерево (например simplexml_load_string()), обработав при этом все возможные ошибки.
я не вдумывался. но в чем проблема после проведения всех манипуляций натравить на это все регулярки и сделать как нужно?


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.