2015-07-03 66 views
0
  <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> 

這裏,在本我需要循環標籤A和標籤複選框使用的xsl:for-每個 [] - 複選框 的嘗試下面的代碼XSL循環:<的xsl:for-每個

它打印所有下陣節點的元素,包括複選框標籤

     xsl:for-each select="$Array/A" 
         input type="checkbox" 
          xsl:value-of select="."          
         /input> 
        /xsl:for-each  

對不起着貼我的預期輸出stackflow犯規讓我附加任何image..but應該是這樣...... 無論是在一個標籤..它應該顯示在屏幕上,只是在fr在它上面..應該顯示一個複選框, 這是進入「複選框」標籤。 粗略繪製輸出 [刻度標記 - 來檢查] 80361785 [] 0001159 [刻度標記 - 來檢查] 80361785-1 [] 0001159-1

+0

您的問題不清楚。請將您的預期輸出**作爲代碼**發佈,並解釋其難點。 –

+0

\t \t \t \t \t \t 的遺憾着貼我的預期輸出..它應該是這樣......無論是在一個標籤...它應該顯示在屏幕上,只是在它的前面..應該顯示一個複選框,它是「複選框」標籤。大致繪製輸出[] 80361785 [] 0001159 [] 80361785-1 [] 0001159-1 – user3855942

+0

因此對於第一個標記A是80361785,第一個複選框是真的..所以它應該被檢查...但是我遇到的問題這裏面臨的是......無法循環複選框的值與A標籤。 – user3855942

回答

0

你可以選擇使用位置()的xpath右複選框標籤。要比較標籤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> 

如果您可以更改輸入格式,請執行此操作。這不是非常喜歡按照那裏的位置對元素進行分組。在一個標籤中添加ID或組A和複選框。

最好的問候 馬里奧

+0

謝謝,它工作:) – user3855942