Bonjour, ma requête de départ était d'ajouter des retour chariots après chaque noeud et voici mon code :
Fichier xml source :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 rsXsltTemplate = '<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">' + '<xsl:output method="xml" indent="yes"/>'+ '<xsl:template match="@* | node()">'+ '<xsl:copy>'+ '<xsl:apply-templates select="@* | node()"/>'+ '</xsl:copy>'+ '</xsl:template>'+ '</xsl:stylesheet>'; var aXml, aXsl, aXmlToSave: IXMLDOMDocument; begin // Création de l'objet xml aXml := CreateOleObject('Microsoft.XMLDOM') as IXMLDOMDocument; aXml.async := False; // On charge le fichier xml aXml.load(sFileName); // Feuille de style aXsl := CreateOleObject('Microsoft.XMLDOM') as IXMLDOMDocument; aXsl.async := False; // On charge le fichier xml aXsl.loadXml(rsXsltTemplate); // On enregistre le fichier xml avec la feuille de style aXmlToSave := CreateOleObject('Microsoft.XMLDOM') as IXMLDOMDocument; aXmlToSave.async := False; aXmlToSave.validateOnParse := true; aXml.TransformNodeToObject(aXsl,aXmlToSave); aXmlToSave.Save(sFileName); end;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <TABLES> <TBL ID="CFGIP_MTB.MetaIndex"> <ColumnsName COL0="TableName" COL1="IndexName" COL2="Contents" COL3="Format" COL4="Primary" COL5="Unique" COL6="Descending" COL7="Maintained" COL8="Length" COL9="CaseInsensitive" COL10="BlockSize"/> <ColumnsType COL0="nvarchar" COL1="nvarchar" COL2="nvarchar" COL3="nvarchar" COL4="bit" COL5="bit" COL6="bit" COL7="bit" COL8="int" COL9="bit" COL10="int"/> <REC TableName="actcolla" /><REC TableName="test" />etc... // entre chaque <REC> je veux un retour chariot
Le problème est que rien ne se passe, pas de retour chariot. J'ai même remarqué qu'il passait mon xml en utf16, pourquoi ?
Partager