xml - 你如何在 xsl 中编写特殊字符?
问题描述
因此,我试图查看 XML 输入是否分别以 < 或 > 作为 < 和 > 开头,但由于特殊字符,我什至无法编译它。
所以
<ENAME>"<ADAMS"</ENAME>
应该成为
employeeName: <ADAMS>
这是我尝试过的:
<xsl:variable name="ename" select="ENAME"/>
"employeeName": "<xsl:value-of select="$ename"/><xsl:if test="starts-
with($ename,>)"><</xsl:if><xsl:if test="starts-
with($ename,<)">></xsl:if>
解决方案
这是一种可以做到的方法:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:strip-space elements="*" />
<xsl:output method="text"/>
<xsl:variable name="dQuote">"</xsl:variable>
<xsl:template match="ENAME">
<!-- Remove double quote from the input string -->
<xsl:variable name="ENAME_MOD" select="translate(.,$dQuote,'')"/>
<xsl:text>employeeName:</xsl:text>
<xsl:value-of select="$ENAME_MOD"/>
<!-- If the string starts with < then add the > at the end -->
<xsl:if test="starts-with($ENAME_MOD,'<')">></xsl:if>
</xsl:template>
</xsl:stylesheet>
看到它在这里工作:https ://xsltfiddle.liberty-development.net/6q1SDkf
推荐阅读
- android - Redux-Thunk:动作必须是普通对象。使用自定义中间件进行异步操作
- css - React App 无法正确渲染
- pentaho - pentaho 的“获取 XML 数据”步骤有时无法读取相同的 xml 文件
- android - 即使使用 Crosswalk 插件,Cordova 也比移动 Chrome 慢
- magento - 订单状态仅显示 Magento2 中的处理
- sql - 如何分组并从特定行获取值
- django - 使用 django 进行条件 update_or_create
- google-cloud-platform - 如何从谷歌中的云资源管理器 API 以外的其他地方获取组织 ID 和名称?
- vb.net - HttpWebRequest 的范围标头(缺少属性?)
- c++ - 对拍摄照片并将其保存到文件的opencv c ++程序进行单元测试