<Array> <A>80361785</A> <A>00001159</A> <A>80361785-1</A> <A>00001159-1</A> <Checkbox>true</Checkbox> <Checkbox>false</Checkbox> <Checkbox>true</Checkbox> <Checkbox>false</Checkbox> .......................... </Array>
在这里,我需要使用xsl:for-each循环标记A和标记Checkbox [] - 复选框
尝试下面的代码,它打印出Array节点下的所有元素,包括复选框标签抱歉,我的预期输出堆栈流不允许我附加任何图像..但它应该像... A标签中的任何内容...它应该显示在屏幕上,就在它前面..应该显示一个复选框, 即将进入&#34;复选框&#34;标签。 大致绘制输出 [刻度线 - 表示已检查] 80361785 [] 0001159 [刻度线 - 表示已检查] 80361785-1 [] 0001159-1xsl:for-each select="$Array/A" input type="checkbox" xsl:value-of select="." /input> /xsl:for-each
答案 0 :(得分:0)
您可以使用position()xpath选择正确的Checkbox标签。要比较标记A的位置并选择具有此位置的复选框,请使用变量。
<xsl:for-each select="$Array/A">
<input type="checkbox">
<xsl:variable name="positionA" select="position()"/>
<xsl:if test="../Checkbox[position()=$positionA][text()='true']">
<xsl:attribute name="checked">true</xsl:attribute>
</xsl:if>
<xsl:value-of select="."/>
</input>
</xsl:for-each>
如果您可以更改输入格式,请执行此操作。它不是非常类似于按位置对元素进行分组的XML。在一个标记中添加ID或组A和复选框。
最好的问候 马里奥