[Mysql] Donnée XML >vers> BDD
Bonjour,
Je voudrai bien insérer mes données du fichier XML vers ma base de donnée.
bouks.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| <?xml version="1.0" encoding="iso-8859-1"?>
<?xml:stylesheet type="text/xsl" href="books.xsl"?>
<books>
<book>
<title>Dilbert</title>
<author>Scott Adams</author>
<price>13</price>
</book>
<book>
<title>Le seigneur des anneaux</title>
<author>J.R.R Tolkien</author>
<price>12.50</price>
</book>
<book>
<title>Harry Potter à l'ecole des sorciers</title>
<author>J.K. Rowling</author>
<price>8.54</price>
</book>
<book>
<title>les misérables</title>
<author>Victor Higo</author>
<price>7.50</price>
</book>
</books> |
books.xsl
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="books/book">
<xsl:text> INSERT INTO books (title, author, price) VALUES ( </xsl:text>
<xsl:value-of select="title"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="author"/>
<xsl:text>, </xsl:text>
<xsl:value-of select="price"/>
<xsl:text> </xsl:text>
<xsl:text>);</xsl:text><br/>
</xsl:template>
</xsl:stylesheet> |
execution du books.xml est la suivante :
Code:
1 2 3 4
| INSERT INTO books (title, author, price) VALUES ( Dilbert, Scott Adams, 13 );
INSERT INTO books (title, author, price) VALUES ( Le seigneur des anneaux, J.R.R Tolkien, 12.50 );
INSERT INTO books (title, author, price) VALUES ( Harry Potter à l'ecole des sorciers, J.K. Rowling, 8.54 );
INSERT INTO books (title, author, price) VALUES ( les misérables, Victor Higo, 7.50 ); |
Mais je voudrais bien inserer mes données dans ma table.
Comment puis-je faire :roll: ??
Transformation XML to JAVA
Code:
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
| import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.io.StringReader;
import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.input.SAXBuilder;
import org.w3c.dom.*;
private BufferedReader fileReader;
fileReader = new BufferedReader(new FileReader("C:/teste.txt"));
String line = fileReader.readLine();
if (line!=null)
{
line=fileReader.readLine();
if (line==null)
{
return null;
}
Document xmdoc = new SAXBuilder().build(new StringReader(line));
return xmdoc;
} else
{
return null;
} |
// xmdoc retourné c'est le document transformé en XML ;) ,maintenant vous pouvez travailler et traiter xmdoc comme un document XML càd (possibilité d'appliquer les fonctions Element racine = xmdoc.getRootElement() ou getChildText ou .getAttributeValue("livre") .... pour extraire les données depuis le fichier xml qui été au début un fichier texte) (Enjoy :mrgreen:)
::anaMario::
génération fichier sql depuis un fichier xml
Bonjour,
J'essaie également de faire la transformation de fichier xml pour générer les requêtes sql afin de l'envoyer dans ma bas de donnée MYSQL,
seul hic mon fichier xml est vraiment moche il n'est pas structuré je n'ai pas de xsl. donc là je sais pas trop comment faire
je comprends pas aussi c'est pas xsl qui permet de faire la transformation c'est xslt non?
j'ai une autre question aussi:) xslt permet il de parser les fichiers comme DOM ET SAX ?
merci :)