一个位置(在XSL)的问题...是什么?

我有这个strage问题,同时创造一个XSL的今天。 看着整个净的答案,但couldnt找到任何.... 其实我猜! DINT我知道我的问题是什么,所以我看的呢?

无论如何! 以防万一你有这同样的问题也莫名其妙的力量,你成功地降落在此页的权力......你会感谢我万吨......如果你不小心降落此页面上的一些奇怪的命运和你刚好是一个XSL开发, 会尽此注意现在,未来的事业,如果有一天,你面对这个问题,那么该部队可能不会与你同在。

问题陈述:
我有这样的XML,其中有两个节点与多个项目中,这两个节点之间的项目有一一对应。 在下面的例子中,每个在节点<array项目name="PLAYURL" />相关(相应的位置)节点<array的一个项目name="SITENAME"

<?xml version="1.0" encoding="utf-8"?>
<myplaylists>
<playlist>
<title>Best of Rest </title>
<array name="SITENAME">
<str>www.musicindiaonline.com</str>
<str>www.dhingana.com</str>
<str>www.raaga.com</str>
<str>www.smashits.com</str>
<str>www.desimusic.com</str>
<str>www.musicplug.in</str>
</array>
<array name="PLAYURL">
<str>http://www.musicindiaonline.com/123/</str>
<str>http://www.dhingana.com/play/123</str>
<str>http://www.raaga.com/123</str>
<str>http://ww.smashits.com/123</str>
<str>http://www.desimusic.com/123</str>
<str>http://www.musicplug.in/123</str>
</array>
</playlist>
</myplaylists>

现在,我有一个循环,我通过<array name="SITENAME">循环,我想以获得在<array name="PLAYURL">相关项目(在相应的位置),

你会normaly尝试做的是...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
play from : <a href="{../../array[@name='PLAY']/str[position()]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

对不起!! 这不会工作......啊!! Surpised ...

现在,你可能会想尝试一下,像这样...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos"> <xsl:value-of select="position()"/></xsl:variable>
play from : <a href="{../../array[@name='PLAY']/str[$pos]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

并再次惯常的工作......现在,你抓你的头,试图联系大家,你认为谁知道一些的XSL,可能是有帮助......你尽一切其他的选项,它仍然不会工作嘛! 那是什么发生在我ATLEAST ...

回复DONT绝望!! 试试这个

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ pos-int ]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

不要问我为什么工作。 因为我没有权利的原因......如果你这样做! 请不要删除评论。 这可能是非常有用的。 还可以! 如果你有更好的这篇文章的标题,请给我一条线 :)


发表评论

NDK的家 | 表达它 表示唇腭裂 表示Penmenship 表示敬畏 表达自己