2016-01-22 80 views
1

我要修改源XML使用XSLT處理指令,例如:如何修改XSLT XML聲明

XML輸入

<?xml version="1.0" encoding="UTF-8"?> 
<root> 

</root> 

XML輸出

<?xml version="1.0" encoding="WINDOWS-1252"?> 
<root> 

</root> 

我可以用XSLT來做到這一點嗎? 在此先感謝。

+0

這不能在XSLT內部自行配置,但可以在XSLT處理器中進行配置(取決於您使用的是哪一個),您能否提供有關XSLT處理器的更多詳細信息? – CAMOBAP

+0

XSLT處理器是SAXParse – dancko

回答

1

這是XML聲明,它不是一個處理指令。如果你想要一個特定的輸出編碼然後使用例如<xsl:output encoding="Windows-1252"/>。但是任何XML解析器都需要支持UTF-8,因此在Unicode和XML時代使用8位代碼頁並不會提高互操作性。

+0

作爲「xsl:stylesheet」和「xsl:transform」的子元素。你意識到有一個公開的規範https://www.w3.org/TR/xslt#output你可以檢查,是嗎? –

+0

我不想要一個特定的輸出編碼。我希望XML文檔的第一行是<?xml version =「1.0」encoding =「WINDOWS-1252」?> – dancko

+1

encoding =「...」*是*關於編碼。試圖將其設置爲某種東西而不實際使用該編碼意味着會產生錯誤的XML,而XML工具並不能真正幫助您做到這一點。 – dret