Bonjour
Je suis un débutant en Xpath. J'essaye depuis d'extraire un partie d'un fichier XML à l'aide de XPath, mais je n'arrive pas au résultat souhaité.
Voici un peu à quoi ressemble le contenu de mon fichier XML:
Je voudrais extraire rien que les parties comprises entre les <niveau1> pour obtenir un truc de ce genre:
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 <niveau1> <niveau1> <u1> <ustext>Mon Titre 1</ustext> </u1> <rz>39</rz> <para>MonParagraphe 1</para> <rz>40</rz> <para>MonParagraphe 2</para> <rz>41</rz> <para> MonParagraphe 3</para> </niveau1> <niveau1> <u1> <ustext>Mon Titre 2</ustext> </u1> <rz>39</rz> <para>MonParagraphe 4</para> <rz>40</rz> <para>MonParagraphe 5</para> <rz>41</rz> <para>MonParagraphe 6</para> </niveau1> </niveau1>
Voici à quoi ressemble mon code Xpath:
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 <u1> <ustext>Mon Titre 1</ustext> </u1> <rz>39</rz> <para>MonParagraphe 1</para> <rz>40</rz> <para>MonParagraphe 2</para> <rz>41</rz> <para> MonParagraphe 3</para> <u1> <ustext>Mon Titre 2</ustext> </u1> <rz>39</rz> <para>MonParagraphe 4</para> <rz>40</rz> <para>MonParagraphe 5</para> <rz>41</rz> <para>MonParagraphe 6</para>
Quelqu'un pourrait-il me donner une orientation?
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 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0"> <xsl:output method="xml" indent="yes"/> <xsl:template match="@*"> <xsl:copy /> </xsl:template> <xsl:template match="*"> <xsl:element name="{name()}" > <xsl:apply-templates select="* | text() | @*"/> </xsl:element> </xsl:template> <xsl:template match="niveau1"> <xsl:copy-of select="./*"/> <xsl:copy-of select="/niveau1/following::*"/> </xsl:template> </xsl:stylesheet>
Merci d'avance![]()
Partager