Comment faire pour supprimer les espaces de noms XML à l'aide de XSLT
J'ai un 150 MO (ça peut aller même plus parfois) le fichier XML. J'ai besoin de supprimer tous les espaces de noms.
C'est sur Visual Basic 6.0, donc je suis en utilisant le DOM pour charger le XML. Le chargement est bien, j'ai été sceptique au début, mais de toute façon cette partie fonctionne très bien.
Je suis en train suivantes XSLT, mais il supprime tous les autres attributs. Je veux garder tous les attributs et les éléments, j'ai juste besoin de supprimer les espaces de noms. Apparemment, c'est parce que j'ai xsl:element
mais pas d'attribut. Comment puis-je inclure les attributs?
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" omit-xml-declaration="yes" version="1.0" encoding="UTF-8" />
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
double possible de Comment faire pour supprimer tous les espaces de noms XML avec C#?
OriginalL'auteur gangt | 2011-03-11
Vous devez vous connecter pour publier un commentaire.
Votre XSLT supprime les attributs aussi, parce que vous ne disposez pas d'un modèle qui permettrait de les copier.
<xsl:template match="*">
ne correspond qu'à des éléments, des attributs (ou du texte, des commentaires ou des instructions de traitement).Ci-dessous est une feuille de style qui supprime toutes les définitions d'espaces de noms à partir du document traité, mais des copies de tous les autres nœuds et des valeurs: des éléments, des attributs, des commentaires de texte et les instructions de traitement. S'il vous plaît prêter attention à 2 choses
<xsl:attribute>
élément....et le code:
Vous pouvez également utiliser
<xsl:template match="node()">
à la place de ce dernier modèle, mais alors vous devriez utiliserpriority
attribut pour empêcher les éléments correspondant à ce modèle.OriginalL'auteur jasso
Juste ajouter ce modèle à celui que vous avez déjà:
OriginalL'auteur Emiliano Poggi
OriginalL'auteur Konstantin