2017-10-23 10 views
0

長年読んできましたが、これは初めての投稿です!XSLT - 特定の値を持つ子ノードを見つけるためにXMLをループする

私は変換して並べ替えたいXML文書を持っています。

<?xml version="1.0"?> 
<ROOT> 

    <ROW> 
     <FULLNAME>Anton</FULLNAME> 
     <GROUPS> 
      <DEPARTMENT>Large</DEPARTMENT> 
      <DEPARTMENT>Medium</DEPARTMENT> 
      <DEPARTMENT>Small</DEPARTMENT> 
     </GROUPS> 
    </ROW> 

    <ROW> 
     <FULLNAME>Bill</FULLNAME> 
     <GROUPS> 
      <DEPARTMENT>Large</DEPARTMENT> 
      <DEPARTMENT>Small</DEPARTMENT> 
     </GROUPS> 
    </ROW> 

</ROOT> 

私がやりたいことは、そこにある部門ノードのいずれかが小さいユーザーのフルネームを引き出すことです。あなたは、出力を望ん形式言わなかった

よろしく、 -Anton

答えて

0

(HTML、テキスト、XML ...)

これは含むGROUPSを持つ任意のROWに一致するウィルテキストSmall(大文字と小文字を区別)とDEPARTMENT、その後、FULLNAME

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
    <xsl:output method="html"/> 

     <xsl:template match="ROOT"> 
      <xsl:apply-templates select="ROW[GROUPS[DEPARTMENT[text() = 'Small']]]" /> 
     </xsl:template> 

     <xsl:template match="ROW"> 
      <xsl:value-of select="FULLNAME"/><br/> 
     </xsl:template> 

</xsl:stylesheet> 
+0

感謝のスティーブを表示するには、それは私が探しているまさにそれです!そしてごめんなさい!私は出力がHTMLであることを望んでいたと述べていたはずです。再度、感謝します! :) –

関連する問題