2016-04-26 70 views
0

我目前正在:如何使用XML循環訪問ArrayList?

<xsl:for-each select="//asdf/@abc"> 
    <span><xsl:value-of select="."/></span> 
</xsl:for-each> 

我在許多論壇上,人們可以使用.來表示數組屬性所看到的,但它不是我的情況下工作。

要說清楚,我試圖避免重組DTO。你會怎麼做呢?

謝謝!


更新

好吧,我的問題的一部分是XML的newbish知識。我重構了xml是如何形成的以獲得適當的節點。但我仍然不知道如何xsl - 如果他們。這是XML:

<wrapper> 
     <node> 
      <one>one</two> 
      <two>two</two> 
      <three>three</three> 
     </node> 
</wrapper> 

而我想要做的就是顯示三個值。我試圖:

<xsl:value-of match="wrapper"> 
    <xsl:for-each select="node"> 
     <xsl:value-of select="three"/> 
    </xsl:for-each> 
</xsl:value-of> 

但它是壞的語法,我認爲。如果有任何基本概念或簡單的技巧來實現這一點,任何輸入都會很棒!

再次感謝。


更新

需要明確的是,有多個節點和包裝本身是嵌套:

<outerwrapper> 
    <wrapper> 
     <node> 
      <one>one</two> 
      <two>two</two> 
      <three>three</three> 
     </node> 
     <node> 
      <one>one</two> 
      <two>two</two> 
      <three>three</three> 
     </node> 
    </wrapper> 
</outerwrapper> 
+3

請張貼重複的例子(含輸入和預期輸出) - 見:[MCVE]。 –

+0

你有'一個'在你的XML - 這是行不通的。 –

回答

0

但它是壞的語法,我認爲。

是的。這部分:

<xsl:value-of match="wrapper"> 

是沒有意義的。它應該是:

<xsl:template match="wrapper"> 

當然,你可以縮短整個事情:

<xsl:template match="/wrapper"> 
    <xsl:value-of select="node/three"/> 
</xsl:template> 
+0

好吧,但事情是,有多個節點,我選擇包裝的方式是這樣的:'' – pward

+0

@pward你被問到提供一個**完整的**例子。如果答案不符合你所做的**沒有告訴我們的情況,請不要感到驚訝。 - 現在我很困惑,因爲你有兩個(或更多?)''節點 - 並且你沒有告訴我們你想選擇哪一個節點。在任何情況下,表達式'// outerwrapper/@ wrapper'都不會在你的例子中選擇任何東西。 –

+0

不用擔心!我很欣賞得到答覆。謝謝! – pward