Xml 使用xslt删除字符

Xml 使用xslt删除字符,xml,string,xslt,Xml,String,Xslt,我需要使用xsl 1.0从字符串值中删除以下字符: `, / *` and break line (**<br>**) `、/*`和换行(****) 我提出了以下建议: <xsl:value-of select="translate(//string/string/string/string, translate(//string/string/string/string, ',/*<br>'" ', ''), '')" /> 首先总是将问题分解为更小的

我需要使用xsl 1.0从字符串值中删除以下字符:

`, / *` and break line (**<br>**)
`、/*`和换行(**
**)
我提出了以下建议:

<xsl:value-of select="translate(//string/string/string/string, translate(//string/string/string/string, ',/*<br>'" ', ''), '')" />

首先总是将问题分解为更小的子集

函数translate基本上是一个字符级操作。因此,它不适用于解决方案的

部分。还要注意,<和>是xsl/xml中的特殊字符

因此,假设
//string/string/string/string
是正确的XPath

translate(//string/string/string/string, ',/*','   '):
应足以删除、和/和*字符

对于

,理想情况下您应该使用替换函数,这在XSLT1.0中是不存在的。如果您使用xslt 1,请查看此问题中的模板示例:


你也可以考虑XSLT是否适合这里的工作,但是这取决于更广泛的上下文。

你能说得更具体些,而不是仅仅说“工作不太好”?i、 e您是否收到错误消息?理想情况下,您应该显示输入XML的示例、预期输出的示例以及实际获得的输出。谢谢如果要删除
translate
的第二个参数中的字符,那么第三个参数应该是空字符串
'
,而不是
'
,因为这会将字符替换为空白。也许您可以更明确地说,未替换的

不能是XML中字符串的一部分?而且,从广义上讲,使用正则表达式查找和删除元素是个坏主意?