Измените файл xslt файла xml с помощью php

привет всем, я хочу динамически изменить таблицу стилей моего файла XML с помощью PHP что-то вроде этого: XML-файл register.xml
когда я пытаюсь отобразить его, он показывает мне: выход

Хорошо, вот что я хочу сделать :
1) Как я упоминал ранее, у меня есть файл XML с именем «regiter.xml»
2) Допустим, у меня есть 3 файла с расширением .xsl (style1.xsl,style2.xsl, style3.xsl)
3) И у меня есть своего рода тег формы, который дает пользователю выбор, как он хочет отображать файл XML, он может выбрать стиль 1, 2 или 3.
4) Я хочу динамически изменять значение атрибута href="file.xsl" в теге <?xml-stylesheet ?> файла "register.xml" в зависимости от выбора пользователя.

мой вопрос:
можно так?
если нет, можете ли вы предложить мне другой способ сделать это?
Спасибо...

что ты уже испробовал? Где ты застрял? Что вы подразумеваете под «таблицей стилей моего XML-файла»?

Nico Haase 06.03.2019 17:17

хорошо, у меня есть другой файл с расширением .xsl для примеров style1.xsl style2.xsl и style3.xsl <br/> и у меня есть файл XML с именем register.xml <br/> что я хочу сделать, так это отобразить «зарегистрировать .xml» с разными стилями <br/> скажем, у меня есть 3 кнопки, если я нажму первую, она свяжет «style1.xsl» с «register.xml», если я нажму вторую, она свяжет « стиль2.xsl" .....

MIBE 06.03.2019 18:59

Пожалуйста, добавьте все такие объяснения в сам вопрос, а не в раздел комментариев.

Nico Haase 06.03.2019 19:14

Добро пожаловать в Stack Overflow. Пожалуйста, редактировать вопрос, чтобы включить текст сообщения об ошибке, так как этот текст будет доступен для поиска и, возможно, позволит другим людям с той же проблемой найти этот вопрос и возможные ответы на него.

Jason Aller 06.03.2019 20:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
4
105
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Подумайте о том, чтобы PHP выполнял сценарии XSLT и не модифицировал инструкцию обработки для браузера для отображения таблицы стилей.

// LOAD XML SOURCE
$doc = new DOMDocument();
$doc->load('Input.xml');

// CONDITIONALLY SELECT XSLT SCRIPT
if (if (isset($_POST['button_1']))) {
    $selected_xsl = "/path/to/style1.xsl";

} elseif (if (isset($_POST['button_2']))) {
    $selected_xsl = "/path/to/style2.xsl";

} elseif (if (isset($_POST['button_3']))) {
    $selected_xsl = "/path/to/style3.xsl";

}   
$xsl = new DOMDocument();
$xsl->load($selected_xsl);

// INITIALIZE AND RUN TRANSFORMER
$proc = new XSLTProcessor;
$proc->importStyleSheet($xsl); 
$newXML = $proc->transformToXML($doc);

// OUTPUT NEW XML TO SCREEN
header("Content-type: text/xml");
echo $newXML;

Спасибо за ответ, но он дает мне следующую ошибку: Эта страница содержит следующие ошибки: ошибка в строке 1 в столбце 6: Дополнительный контент в конце документа

MIBE 07.03.2019 00:05

<br/>Список лиц установлен ........<br/><br /> <b>Устранимая фатальная ошибка</b>: объект класса DOMDocument не может быть преобразован в строку в <b> /var/www/html/xmlProject/controller/infoController.php</b‌​> в строке <b>29</b><br />

MIBE 07.03.2019 00:13

я прокомментировал заголовок ("Content-type: text/xml"), и он работает, я не знал, почему .... но спасибо вам

MIBE 07.03.2019 00:22

Другие вопросы по теме