xslt удалить одинарные кавычки из узлов в xml? - PullRequest
0 голосов
/ 26 января 2019

Я использую версию xsl 1.0 У меня есть такой вид XML например

<ss>'node1'</ss>
<ss1>'node2'</ss2>

Значения указаны в одинарных кавычках. я хочу удалить эти одинарные кавычки вывод должен быть

node1 узел2

<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
</xsl:template>

<xsl:template match="*/text()">
    <xsl:value-of select="translate(., '\&quot;', '')"/>
</xsl:template>

Я попробовал этот код, но безрезультатно. любое предложение поможет спасибо

Ответы [ 2 ]

0 голосов
/ 26 января 2019

&quot; соответствует двойным кавычкам ", а не одиночным кавычкам. Вы должны использовать &apos;, хотя вам нужно будет написать это так ...

<xsl:value-of select='translate(., "&apos;", "")'/>

Также обратите внимание, что использование \ не требуется, так как это не escape-символ в xslt / xpath. (Если, конечно, вы не собирались удалять обратную косую черту из текста).

0 голосов
/ 26 января 2019

Попробуйте &apos; вместо &quot;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...