Comment comparer la valeur de deux nœuds dans XSLT
Je suis nouveau sur XSLT. J'ai besoin d'aide de comparer la valeur de deux nœuds' valeurs dans XML.
Mon XML exemple:
<?xml version="1.0" encoding="utf-8"?>
<G1Export xmlns="">
<AgencyGroup xmlns="">
<Agency xmlns="">
<RecordType xmlns="">RecordType</RecordType>
<OrgId xmlns="">123</OrgId>
</Agency>
</AgencyGroup>
<BranchGroup xmlns="">
<BranchCode xmlns="">
<OrgId xmlns="">123</OrgId>
</BranchCode>
</BranchGroup>
</G1Export>
Ci-dessus fichier XML j'ai besoin de comparer les valeurs de l' OrgId
nœud sous le <AgencyGroup>
nœud à l'une sous l' <BranchGroup>
nœud.
J'ai essayé d'utilisé le compare()
méthode, mais il me donne le reult de 1.
Le résultat doit être égal à 0 (pour l'égalité). Je suis à l'aide de XSLT 2.
- Lièvre: Oh non! Modifier les fringues. Je pense que mon montage est meilleure que la vôtre, honnêtement. Vous avez manqué un tas.
- Je vais fusionner les deux éditions.
- Puisque apparemment vous n'avez pas eu de succès encore, je pense que vous devriez ajouter à votre tentative de code à cette question. Ensuite, les gens peuvent vous aider à déboguer.
Vous devez vous connecter pour publier un commentaire.
Je ne connais pas le contexte dans lequel vous avez besoin de comparer ces valeurs, mais le
=
opérateur est ce que vous cherchez. Cela permettra de les comparer, mais n'est probablement pas le contexte, vous devez:Pourquoi ne pas le faire
AgencyGroup/Agency/OrgId = BranchGroup/BranchCode/OrgId
?Pour plus de anal,
AgencyGroup/Agency/OrgId/text() = BranchGroup/BranchCode/OrgId/text()
.Si vous avez besoin de la différence, pensez
AgencyGroup/Agency/OrgId - BranchGroup/BranchCode/OrgId
résultat = 0
Modifié:
Il y a 2 erreurs dans le xslt
1. Pour brnchOrgId vous avez été en utilisant AgencyGroup au lieu de BranchGroup
2. Pour le compare (), vous devriez avoir =0 et pas ='0'
Corrigé xslt:
De sortie:
Espère que cette aide.