2012-12-06 78 views
0

我有以下XML:排序XML節點根據病情

<Candidate:candidateInfo> 
    <Candidate:name> AAA</Candidate:name> 
    <Candidate:age>16</Candidate:age> 
    <Candidate:sex>M</Candidate:sex> 
</Candidate:candidateInfo> 
<Candidate:candidateInfo> 
    <Candidate:name> BBB</Candidate:name> 
    <Candidate:age>28</Candidate:age> 
    <Candidate:sex>F</Candidate:sex> 
</Candidate:candidateInfo> 
<Candidate:candidateInfo> 
    <Candidate:name>CCC</Candidate:name> 
    <Candidate:age>28</Candidate:age> 
    <Candidate:sex>M</Candidate:sex> 
</Candidate:candidateInfo> 

我需要在3個排序值的候選age.Out的升序排序節點,我必須填寫所有信息從中間(第二齣3)的元素,則將相應的年齡大於18別的我不得不從元件3

+3

你需要什麼輸出(我不清楚「填充所有信息」);你嘗試過哪些代碼,它給出了什麼輸出,以及這與你需要的輸出有什麼不同? – LarsH

回答

0

填充值如果我正確理解這樣的問題:

<xsl:template match="/"> 
    <xsl:apply-templates select="Candidate:candidateInfo[number(Candidate:age) > 18]"> 
     <xsl:sort-by select="number(Candidate:age)"/> 
    </xsl:apply-templates> 
</xsl:template> 

<xsl:template match="Candidate:candidateInfo"> 
    <xsl:copy-of select="."/> 
</xsl:template> 

此過濾器將刪除19歲以下的所有候選信息元素。