我有一个 XML 块,如下所示:
<wd:All_Eligible_Time_Off_Plans_for_Worker_group>
<wd:Time_Off_Plan wd:Descriptor="Personal Floating Holiday">
<wd:ID wd:type="WID">9cae06e1e9c601054c26dc48e9790000</wd:ID>
<wd:ID wd:type="Absence_Plan_ID">HCM_ABSENCE_PTO</wd:ID>
</wd:Time_Off_Plan>
<wd:Time_Off_Balance>66</wd:Time_Off_Balance>
</wd:All_Eligible_Time_Off_Plans_for_Worker_group>
<wd:All_Eligible_Time_Off_Plans_for_Worker_group>
<wd:Time_Off_Plan wd:Descriptor="Personal Floating Holiday">
<wd:ID wd:type="WID">9cae06e1e9c601054c26dc48e9790000</wd:ID>
<wd:ID wd:type="Absence_Plan_ID">HCM_ABSENCE_PTM</wd:ID>
</wd:Time_Off_Plan>
<wd:Time_Off_Balance>99</wd:Time_Off_Balance>
</wd:All_Eligible_Time_Off_Plans_for_Worker_group>
我想计算节点数并设置一个具有“正确”结果数的变量。
这是我尝试过的......
这是我的 XSLT:
<xsl:variable name="PTOTimeoffCount">
<xsl:value-of select="count(wd:All_Eligible_Time_Off_Plans_for_Worker_group/wd:Time_Off_Plan/wd:ID[@wd:type ='Absence_Plan_ID'] = 'HCM_ABSENCE_PTO')"/>
</xsl:variable>
无论节点是否存在,结果变量都是“1”。如果没有节点,则变量为“1”。如果有多个节点,则该变量为“1”。在上面的示例 XML 中,我期望为“1”,但有时没有匹配的节点,但我仍然在变量中得到“1”。我怀疑我的 count() 语法错误,但我对此很陌生,不知道如何修复它。