所以我有这样的代码:XML/XSLT:在XSLT中从XML中的两个不同节点获取信息?
<xsl:for-each select="item">
<Row>
<Cell Borders="#ffffff">
<xsl:attribute name="Background">
<xsl:choose>
<xsl:when test="position() mod 2 = 1">#CCCCFF</xsl:when>
<xsl:when test="position() mod 2 = 0">#FFFFFF</xsl:when>
</xsl:choose>
</xsl:attribute>
<Paddings Left="5" Right="5" Top="2" Bottom="2"/>
<xsl:for-each select="//queries/query/selection/dataItem">
<Text Style="TableContent">
<xsl:value-of select="@name"/>
</Text>
</xsl:for-each>
</Cell>
<Cell Borders="#ffffff">
<xsl:attribute name="Background">
<xsl:choose>
<xsl:when test="position() mod 2 = 1">#CCCCFF</xsl:when>
<xsl:when test="position() mod 2 = 0">#FFFFFF</xsl:when>
</xsl:choose>
</xsl:attribute>
<Paddings Left="5" Right="5" Top="2" Bottom="2"/>
<Text Style="TableContent">
<xsl:choose>
<xsl:when test="qi">
<xsl:value-of select="qi"/>
</xsl:when>
<xsl:otherwise>
<Text>N/A</Text>
</xsl:otherwise>
</xsl:choose>
</Text>
</Cell>
</Row>
</xsl:for-each>
我试图从一个XML拉的信息,但信息是在两个不同的节点,有两个不同的XPATH。我还需要匹配来自一个节点的信息,即名称。到位于不同位置下的另一个节点,使用不同的XPATH。是否有一种方法可以查看节点中的每个名称,并将它与在另一个节点中找到的信息进行匹配,所有这些信息都在同一个XML中?
非常感谢您
是的,这的确听起来可能,可能使用一个xsl:键,例如,但我们真的需要查看您的XML示例以提供更具体的帮助。如果你编辑你的问题来展示一个有意义的XML样本,那将会很有帮助。谢谢! – 2012-08-02 21:25:27
对不起,我忘记提供的XML链接之前,但我现在添加了链接。希望它有一点帮助。我试图抓住沿袭信息并将匹配下的名称节点与查询中的dataItem节点下的表达式匹配。 – 2012-08-02 21:54:54
请编辑问题并在问题中提供一个XML文档(小)。请提供确切的通缉结果并解释变革必须实施的任何要求。 – 2012-08-03 01:58:41