2
我有一種情況,我必須找到幾個布爾字段值的計數,只有它們是真的。只通過XPath計算特定的孩子
輸入XML:
<PersonInfo>
<ArrayOfPersonInfo>
<CertAsAdultFlag>true</CertAsAdultFlag>
<DeceasedFlag>true</DeceasedFlag>
<WantedFlag>false</WantedFlag>
<CPSORFlag>true</CPSORFlag>
<ConditonalReleaseFlag>false</ConditonalReleaseFlag>
<ProbationFlag>true</ProbationFlag>
<MissingFlag>true</MissingFlag>
<ATLFlag>true</ATLFlag>
<CCWFlag>false</CCWFlag>
<VictimIDTheftFlag>true</VictimIDTheftFlag>
</ArrayOfPersonInfo>
</PersonInfo>
我需要找到這些標誌與條件的計數,如果他們是'true'
。
這裏是我的嘗試和失敗有:
<xsl:variable name="AlertCount" select="
count(
PersonInfo/ArrayOfPersonInfo[
CPSORFlag[.='true'] | CertAsAdultFlag[.='true'] |
DeceasedFlag[.='true'] | WantedFlag[.='true'] |
ConditonalReleaseFlag[.='true'] | MissingFlag[.='true'] |
ATLFlag[.='true'] | ProbationFlag[.='true'] | CCWFlag[.='true'] |
VictimIDTheftFlag[.='true'] | CHRIFlag[.='true'] |
CivilWritFlag[.='true'] | MentalPetitionFlag[.='true'] |
ProtectionOrderFlag[.='true'] | juvWantedFlag[.='true'] |
WeaponsFlag[.='true'] | WorkCardFlag[.='true']
]
)
"/>
我真的需要這方面的幫助從別人,因爲我一直在努力通過它來獲得。提前致謝。
嗨託默勒格。謝謝回覆。對不起,我應該在早些時候說清楚。在上面我沒有提到的同一個XML中還有其他標誌,我只需要擔心我在上面的XML中提到的標誌。如果我使用您的答案,它會給出所有其他標誌的計數。你現在可以幫我嗎? – Harsh 2012-08-14 15:05:35
非常感謝我爲什麼我的代碼不工作的澄清..但是,請你告訴我什麼是正確的方法..只需在你的迴應中包含2-3個標誌。再次感謝您的幫助。 – Harsh 2012-08-14 15:13:50
@Harshavardhan查看修改答案。 – Tomalak 2012-08-14 15:14:02