Bonjour à tous,
Je cherche à récupérer les données de livres dans des méta-bases à partir des codes EAN des bouquins :
.
Le premier site web que j'interroge (isbnbd.com) me renvoie une page XML :
que j'arrive à traiter grace à un code comme ceci :
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 <isbndb> <data> <awards_text/> <book_id>les_dragons_de_meereen_le_trone_de_fer_t_14</book_id> <dewey_decimal/> <dewey_normal>0</dewey_normal> <edition_info>Paperback; 2012-09-05</edition_info> <isbn10>2756405876</isbn10> <isbn13>9782756405872</isbn13> <language/> <lcc_number/> <marc_enc_level>~</marc_enc_level> <notes/> <physical_description_text>6.0x9.4x1.4- 1.3 lb</physical_description_text> <publisher_id>pygmalion</publisher_id> <publisher_name>PYGMALION</publisher_name> <publisher_text>PYGMALION</publisher_text> <summary/> <title>les dragons de meereen le trone de fer t.14</title> <title_latin>les dragons de meereen le trone de fer t.14</title_latin> <title_long/> <urls_text/> </data> <index_searched>isbn</index_searched> </isbndb>
Par contre, un second site web (worldcat.org) me renvoie une page XML comme ceci :
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 Imports System.Xml Imports System.Net Imports System.Text Dim client As New WebClient() Dim DocXml As New XmlDocument() Dim PageWebXml As String Dim element As XmlNodeList Dim noeud, noeudEnf As XmlNode Dim TitreLivre As String PageWebXml = Encoding.UTF8.GetString(client.DownloadData("http://isbndb.com/api/v2/xml/QVM9E9ZY/book/9782756405872")) DocXml.LoadXml(PageWebXml) element = DocXml.DocumentElement.GetElementsByTagName("data") For Each noeud In element For Each noeudEnf In noeud.ChildNodes Select Case noeudEnf.LocalName Case "title" TitreLivre = noeudEnf.InnerText End Select Next Next msgbox(TitreLivre)
Je n'arrive pas à adapter mon code pour récupérer, par exemple le titre du bouquin qui correspond à la balise subfield="a" de datafield/tag="245"
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
33 <record xmlns="http://www.loc.gov/MARC21/slim"> <leader>00000cam a2200000Li 4500</leader> <controlfield tag="001">816626178</controlfield> <controlfield tag="008">121003s2012 fr 000 j fre</controlfield> <datafield ind1=" " ind2=" " tag="020"> <subfield code="a">9782756405872 (br)</subfield> </datafield> <datafield ind1=" " ind2=" " tag="020"> <subfield code="a">2756405876 (br)</subfield> </datafield> <datafield ind1="1" ind2=" " tag="041"> <subfield code="a">fre</subfield> <subfield code="h">eng</subfield> </datafield> <datafield ind1="1" ind2=" " tag="100"> <subfield code="a">Martin, George R. R.,</subfield> <subfield code="d">1948-....</subfield> <subfield code="4">aut</subfield> <subfield code="0">(FrPBN)11914792</subfield> </datafield> <datafield ind1="1" ind2="2" tag="240"> <subfield code="a">A dance with dragons.</subfield> <subfield code="n">2.</subfield> <subfield code="l">français.</subfield> </datafield> <datafield ind1="1" ind2="4" tag="245"> <subfield code="a">Les dragons de Meereen :</subfield> <subfield code="b">roman /</subfield> <subfield code="c"> George R. R. Martin ; traduit de l'américain par Patrick Marcel. </subfield> </datafield>
Quelqu'un saurait m'éclairer ?
(Bien entendu je suis une quiche qui bidouille en piochant des idées à gauche et a droite pour programmer des bouts de machin)
Partager