2016-04-26 15 views
0

私は現在しようとしています:XMLでArrayListをループする方法は?

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

を私は人々が配列属性を表すために.を使用することができます多くのフォーラムで見たが、それは私の場合には機能していません。

明らかに、私はDTOの再構築を避けようとしています。これについてどうやって行きますか?

ありがとうございます!


更新

[OK]を、私の問題の一部は、XMLのnewbish知識でした。適切なノードを得るためにXMLがどのように形成されたかを再構成します。しかし、私はまだそれらをxsl-ifyする方法を知らない。ここにxmlがあります:

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

そして私がしたいのは、3つの値を表示することです。私は試しています:

<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 **完全**の例を提供します。答えがあなたの状況に合わない場合は驚かないでください。 - 今は2つ(あるいはそれ以上)の ''ノードがあるので、私は混乱しています。あなたが選択したいノードを教えてくれませんでした。どちらの場合でも、式 '// outerwrapper/@ wrapper'はあなたの例では何も選択しません。 –

+0

心配はいりません!私は応答を得ることに感謝します。ありがとうございました! – pward

関連する問題