【发布时间】:2016-01-17 17:26:12
【问题描述】:
问题:给定一个xml文件,使用xslt获取值为'sam'的content/id标签的值
问题:匹配相同路径的所有值都被选中。布赖恩和山姆。
(我想知道 select 应该选择第一个匹配项,而不应该像 xslt 中提供的 for-each 实用程序那样循环)
xml:
<?xml version="1.0" encoding="UTF-8"?>
<Primary>
<PID>Tech1</PID>
<Version>1234</Version>
<AData>
<Id>widnows</Id>
</AData>
<BData>
<Content>
<Id>brian</Id>
</Content>
<Content>
<Id>sam</Id>
</Content>
</BData>
</Primary>`
xslt
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/Primary">
<xsl:variable name="var" select="'sam'" />
<xsl:apply-templates select="BData/Content">
<xsl:if test="Id='sam'">
<xsl:value-of select="Id"/>
</xsl:if>
</xsl:apply-templates>
</xsl:template>
</xsl:stylesheet>
【问题讨论】:
-
"使用 xslt 获取值为 'sam' 的 content/id 标签的值" 值为
'sam'的content/id标签的值为'sam'。您不需要任何 XSLT 即可知道这一点。 -
这是进一步处理的初步选择。保持问题陈述简单,以免显得复杂。