我需要访问在当前标签下存在几层的标签的属性。
例如:XML 的片段如下所示
<Content version="Title" action="add">
<ProgramContent>
<ContentMetaData>
<ContentId>
<HouseNumber>558960</HouseNumber>
<AlternateId idType="SeriesId" authoritativeSource="BCM">19714</AlternateId>
<AlternateId idType="EntityId" authoritativeSource="BCM">550133</AlternateId>
</ContentId>
</ContentMetaData>
</ProgramContent>
</Content>
我的代码目前看起来像这样:
<xsl:for-each select="ns0:BxfMessage/ns0:BxfData/ns0:Content">
<xsl:if test="string(@version)= 'Title'">
<xsl:if test="string(//AlternateId[@idType ='SeriesId'])">
<test>hey</test>
</xsl:if>
</xsl:if>
</xsl:for-each>
我需要在内容标签上执行一个 for-each 循环来检查所有这些,但是在那个 for-each 循环中,我只想在 AlternateID 标签的属性不包含 seriesId 时继续操作。因此,如果它们中的任何一个是 seriesId 我想结束 if 语句。我该怎么做呢?如您所见,我尝试了一个 if 语句,该语句应该检查属性 idType 是否等于 SeriesId 但它失败并且不返回任何内容,我做错了什么吗?
干杯