2017-02-20 81 views
0

這裏是我的XML:如何找到最長的字符串長度節點值

<persons> 
    <person> 
     <name>Jason</name> 
    </person> 
    <person> 
     <name>John</name> 
    </person> 
    <person> 
     <name>Mary</name> 
    </person> 
    <person> 
     <name>Jennifer</name> 
    </person> 
</persons> 

使用XSLT 1.0,我需要找到與名稱最長的人。做這個的最好方式是什麼?

回答

2

嘗試:

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> 
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> 
<xsl:strip-space elements="*"/> 

<xsl:template match="/persons"> 
    <xsl:for-each select="person"> 
     <xsl:sort select="string-length(name)" data-type="number" order="ascending"/> 
     <xsl:if test="position()=last()"> 
      <xsl:copy-of select="name"/> 
     </xsl:if> 
    </xsl:for-each> 
</xsl:template> 

</xsl:stylesheet> 
+0

謝謝!工作很好 – Jayfray