Comment puis-je générer tout le texte d'un nœud, y compris le texte de ses nœuds enfants tout en excluant le texte dans les nœuds «a»?XSL: Sélectionner tout le texte dans un nœud, à l'exception des nœuds d'un certain type
Répondre
Faire usage de la règle de modèle intégré pour les nœuds de texte, ce qui est de les copier sur le résultat. Même pour un nouveau mode de traitement que vous spécifiez ("all-but-a" dans le code ci-dessous), les règles intégrées fonctionneront: pour les éléments, (récursivement) traiter les enfants; pour les nœuds de texte, copiez. Vous n'avez besoin que de surcharger l'un d'entre eux, la règle pour les éléments <a>
, d'où la règle de modèle vide, qui supprime effectivement le texte.
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="myNode">
<!-- Process children -->
<xsl:apply-templates mode="all-but-a"/>
</xsl:template>
<!-- Don't process <a> elements -->
<xsl:template mode="all-but-a" match="a"/>
</xsl:stylesheet>
Pour une description complète de la façon dont les règles de modèle intégrées fonctionnent, consultez la section « intégrée dans les règles du modèle » de "How XSLT Works" sur mon site.
<xsl:for-each select="//*[text() and name() != 'a']">
<xsl:value-of select="."/>
</xsl:for-each>
Je crois que c'est ce que vous cherchez:
<xsl:for-each select="//text()[not(ancestor::a)]">
<xsl:value-of select="."/>
</xsl:for-each>
Il sélectionne tous les nœuds de texte qui ne sont pas des enfants de balises d'ancrage.
- 1. Groupe Liste des nœuds dans l'arborescence des nœuds avec XSL
- 2. Comment sélectionner des nœuds uniques
- 3. Sélectionner tout le texte dans un Winforms Infragistics ComboBox
- 4. Comment sélectionner tout le texte dans un Windows Forms TextBox?
- 5. Comment sélectionner le texte dans JTextField tout en tabulation
- 6. Comment sélectionner le nœud parent d'un nœud enfant?
- 7. Comment puis-je sélectionner tous les nœuds feuille dans une hiérarchie SQL sous un nœud donné?
- 8. Comment utilisez-vous une variable dans xsl lorsque vous essayez de sélectionner un nœud?
- 9. Comment utiliser des expressions régulières pour correspondre à tout avant un certain type de mot
- 10. Traverse structure xml pour déterminer si un certain nœud de texte existe
- 11. Comment sélectionner tout le texte dans un JFormattedTextField quand il obtient le focus?
- 12. Xpath requête pour sélectionner le nœud lorsque l'attribut n'existe pas?
- 13. Nœuds de comptage XSL à partir de la racine
- 14. jquery sélectionner le texte
- 15. Comment faire correspondre un nœud de texte puis suivre les nœuds parents en utilisant XPath
- 16. Comment sélectionner des nœuds dans Netbeans Visual Library?
- 17. Flex: Tout contrôle pour sélectionner le mois?
- 18. Comment sélectionner les nœuds dynamiquement dans XSLT
- 19. Comment compter des nœuds spécifiques dans xml hierachy dépend de la condition dans XSL
- 20. Comment agrandir un certain style de texte?
- 21. sélectionner deux attributs dans un nœud en utilisant LINQ
- 22. Comment ajouter dynamiquement un nouveau nœud XML en fonction des valeurs des autres nœuds?
- 23. WPF Datagrid Bouton "Sélectionner tout" - "Désélectionner tout"?
- 24. Comment sélectionner des nœuds avec XPath en C#?
- 25. XSLT - comment faire correspondre des enfants de nœuds non-texte?
- 26. Comment sélectionner tout le texte dans Winforms NumericUpDown sur l'onglet dans?
- 27. XSL: comment copier un arbre, mais en supprimant certains nœuds?
- 28. Comment savoir si une instance appartient à un certain type ou à un type dérivé
- 29. Utilisation de Raphael JS pour créer des nœuds de texte
- 30. Drupal6: chaque vue de nœud d'un certain type entraîne une erreur 404
Merci! Puis-je exclure les tags ? – joe
Il ne saute pas Tags – Blerta
Ceci sélectionne chaque nœud qui contient du texte qui n'est pas une balise d'ancrage. Il voulait sélectionner le TEXTE de tous les nœuds qui n'étaient pas dans les balises A. – fearphage