Вам необходимо заменить ниже
<xsl:value-of select="replace($MediaFile,'\','\\')"/>
на
<xsl:value-of select="replace($MediaFile,'\\','\\\\')" />
Во многих языках программирования обратная косая черта используется в качестве escape-символа для обозначенияперсонаж, следующий за ним, требует особого отношения.В этом случае вам потребуется экранировать заменяемый символ \
на \\
, а также заменить \\
на \\\\
(две обратные косые черты).
Следующий вопрос поможет дать некоторые деталиобъяснение Что на самом деле означает обратная косая черта "\"?
Кроме того, в шаблоне, которым вы поделились, желаемый результат равен text
, поэтому нет необходимости создавать элементназванный Media
, поскольку это вошло бы в картину, если желаемый вывод - XML.Таким образом, код шаблона может быть оптимизирован как
<xsl:template match="/">
<xsl:value-of select="replace(Asset/Target/MediaFile,'\\','\\\\')" />
</xsl:template>
Выход
F:\\DEMO\\TEST\\HELLO.mp4