我有一个如下所示的XML文件,其中有多个具有相同名称但元素名称属性不同的元素。
<doc>
<sub1>
<vdf:field name="asset.title">
<vdf:value>XYZTITLE</vdf:value>
</vdf:field>
<vdf:field name="asset.type">
<vdf:value>XYZTYPE</vdf:value>
</vdf:field>
</sub1>
</doc>
我需要使用XML样式表进行解析。如果XML文件中的元素名称都是唯一的,我将可以使用-
<xsl:choose>
<xsl:when test="doc/sub1/uniqueelement != ''">
<xsl:value-of select="doc/sub1/uniqueelement"/>
</xsl:when>
<xsl:otherwise>Undefined</xsl:otherwise>
</xsl:choose>
如何修改上面的XSL,以在“ vdf:field”元素中选择“ XYZTITLE”的值,其中name =“ asset.title”?
答案 0 :(得分:1)
使用predicate。例如,对于以下XML:
<doc>
<sub1>
<field name="asset.title">
<value>XYZTITLE</value>
</field>
<field name="asset.type">
<value>XYZTYPE</value>
</field>
</sub1>
</doc>
说明:
<xsl:value-of select="/doc/sub1/field[@name='asset.title']/value"/>
将返回:
XYZTITLE