如何使用XSLT将base64编码的文本加载到XML文档中?
如何使用XSLT将base64编码的文本加载到XML文档中 例如,如果我有以下两个文档 输入文件1:如何使用XSLT将base64编码的文本加载到XML文档中?,xslt,xslt-1.0,xslt-2.0,Xslt,Xslt 1.0,Xslt 2.0,如何使用XSLT将base64编码的文本加载到XML文档中 例如,如果我有以下两个文档 输入文件1: YTM0NZomIzI2OTsmIzM0NTueYQ== <xml> <Column1></Column1> </xml> <xml> <Column1>YTM0NZomIzI2OTsmIzM0NTueYQ==</Column1> </xml> 输入文件2: YTM0NZomIzI2OTsmIz
YTM0NZomIzI2OTsmIzM0NTueYQ==
<xml>
<Column1></Column1>
</xml>
<xml>
<Column1>YTM0NZomIzI2OTsmIzM0NTueYQ==</Column1>
</xml>
输入文件2:
YTM0NZomIzI2OTsmIzM0NTueYQ==
<xml>
<Column1></Column1>
</xml>
<xml>
<Column1>YTM0NZomIzI2OTsmIzM0NTueYQ==</Column1>
</xml>
所需输出:
YTM0NZomIzI2OTsmIzM0NTueYQ==
<xml>
<Column1></Column1>
</xml>
<xml>
<Column1>YTM0NZomIzI2OTsmIzM0NTueYQ==</Column1>
</xml>
YTM0Nzomizi2OtsmizM0Ntueq==
如果使用的是XSLT 2.0,则可以使用该函数从文本文件加载base64内容
在下面的示例中,使用文档URI的默认值设置xsl:param
,但是在调用转换时可以设置不同的值
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output indent="yes"/>
<xsl:param name="base64-document" select="'base64-content.txt'"/>
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="Column1">
<xsl:copy>
<xsl:value-of select="unparsed-text($base64-document)"/>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
这样做的方法是你先尝试解决问题,然后在遇到困难时问一个具体的问题,展示你所做的。有关编写问题的提示,请阅读和。出现此错误:javax.xml.transform.TransformerException:找不到函数:未分析的文本请提供帮助?听起来您使用的是XSLT 1.0引擎。unparsed-text()是一个仅限2.0版本的函数。要么使用支持2.0的引擎(如Saxon),要么尝试我的1.0解决方案