如何从属性值

时间:2015-10-14 14:20:15

标签: xml xslt xslt-1.0

这是我第一次使用xlst语言。 我有一点问题,但我无法找到解决方案。

XML示例:

<DATA>
    <KEY>1234</KEY>
    <VALUE>"AB"</VALUE>
</DATA>
<DATA>
    <CLE>4567</CLE>
    <VALUE>"CD"</VALUE>
</DATA>

我正在建立一个像这样的输入xml:

 <TestAlias Alias="{DATA[1]/KEY}" ExtRef="{DATA[1]/VALUE}"/>

结果几近完美:

<ProjectAlias Alias="1234" ExtRef="**&#34**;AB**&#34**;"/>

问题是&#34; &#34;在我的价值上。当我ExtRef="{DATA[1]/VALUE}"时,我可以选择不接受它们吗?

1 个答案:

答案 0 :(得分:2)

其中任何一个都适用于您的示例:

<强> 1

<TestAlias Alias="{DATA[1]/KEY}" ExtRef="{translate(DATA[1]/VALUE, '&quot;', '')}"/>

将删除所有引号;

<强> 2

<TestAlias Alias="{DATA[1]/KEY}" ExtRef="{substring(DATA[1]/VALUE, 2, string-length(DATA[1]/VALUE) - 2)}"/>

或者,如果您愿意:

<xsl:variable name="ext-ref" select="DATA[1]/VALUE" />
<TestAlias Alias="{DATA[1]/KEY}" ExtRef="{substring($ext-ref, 2, string-length($ext-ref) - 2)}"/>

将跳过第一个和最后一个字符。