簡體   English   中英

使用php更改xml文件的xslt文件

[英]Change the xslt file of an xml file using php

大家好,我想使用PHP動態更改XML文件的樣式表,如下所示: XML文件register.xml
當我嘗試顯示它時,它顯示出我: 輸出

好的,這就是我想要做的:
1)如前所述,我有一個名為“ regiter.xml”的XML文件
2)假設我有3個擴展名為.xsl的文件(style1.xsl,style2.xsl,style3.xsl)
3)而且我有一個表單標簽,可以讓用戶選擇他要如何顯示XML文件,他可以選擇style1或2或3。
4) 我想根據用戶選擇動態地更改文件“ register.xml”的標簽<?xml-stylesheet?>中的屬性href =“ file.xsl”的值

我的問題是:
有可能這樣做嗎?
如果不是,您可以建議我另一種方法嗎?
謝謝...

考慮讓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;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM