Jump to content
  • 0

XSLT for xml import.. Hoe raak ik aan die data?


Timke

Question

Mijn producten leverancier geeft me de mogelijkheid om via een webservice (WSDL) mijn bestellingen, leveringen, pricelist en dergelijke op te vragen. Dit zou me een hoop werk besparen omdat ik deze dan in de toekomst niet langer manueel in mijn database moet invoeren.

 

Na veel speurwerk op het net kwam ik uit bij de FMNexus plug-in. Het was even zoeken, maar ik ben er uiteindelijk in geslaagd om connectie te leggen met de WSDL en krijg nu de xml data binnen..

 

De GetOrderhistory geeft me een xml welke ik zou willen importeren naar 2 tabellen (eigenlijk gewoon de structuur van de XML overnemen naar de tabellen.):

  • een met de orderinformatie
    een met de producten in dat order.

 

Echter het volgende probleem stelt zich. Hoe krijg ik deze data in tabellen omgezet?!?!

 

Als ik het goed voor heb kan ik XML data op 2 manieren in tabellen krijgen:

  • 1. parsen via Xpath
    2. exporteren naar een Xml bestand en dan importeren in de database.

Ik zou opteren om de xml te exporteren naar een xml-bestand en dan te importeren met een Xslt. Om de een of andere reden leek me dit iets eenvoudiger.

Ik ben menige uren op zoek geweest om die XSLT op te bouwen maar ik blijf echter steeds vastlopen op de structuur van de verkregen XML. (wat nu ook weer niet verwonderlijk is aangezien dit mijn eerste confrontatie met XML/XSLT is)

 

Ik raak echter niet aan de data van de XML. Deze zit blijkbaar in een tag (of hoe je het noemt) weggestoken.

  • <br><!DOCTYPE vetorderordershistory[]> <br>....<br>

 

Kan iemand me even op weg brengen, me zeggen hoe ik verder moet of waar ik verkeerd zit?

Of misschien zelfs een voorbeeld bezorgen voor deze XSLT.

Dan hoop ik de boel voor de andere aanroepen en tabellen zelf te kunnen regelen.

 

De verkregen XMLresult ziet er als volgt uit:

=====================================

<?xml version="1.0" encoding="utf-8"?>

</p><p><!DOCTYPE vetorderordershistory[]></p><p><orders></p><p><order id="116817"></p><p><recievedon>08/02/2013 09:19:02</recievedon></p><p><processed>True</processed></p><p><referencenumber>13/4/9080/0116223</referencenumber></p><p><remarks></remarks></p><p><products></p><p><product></p><p><productkey>CANIKU00</productkey></p><p><description>CANIKUR PRO 15 ML ( 1 SPUIT )</description></p><p><cnknumber>2650471</cnknumber></p><p><price>6.67</price></p><p><vat>21.00</vat></p><p><pricepublic>15.02</pricepublic></p><p><number>5</number></p><p><inpromotion>True</inpromotion></p><p></product></p><p><product></p><p><productkey>CANIKU10</productkey></p><p><description>CANIKUR PRO 30 ML ( 1SPUIT )</description></p><p><cnknumber>2650497</cnknumber></p><p><price>10.01</price></p><p><vat>21.00</vat></p><p><pricepublic>22.53</pricepublic></p><p><number>5</number></p><p><inpromotion>True</inpromotion></p><p></product></p><p><product></p><p><productkey>CLINAG01</productkey></p><p><description>CLINAGEL VET 4 G OOGGEL/GEL OPHTALMIQUE</description></p><p><cnknumber>1761865</cnknumber></p><p><price>5.11</price></p><p><vat>6.00</vat></p><p><pricepublic>8.59</pricepublic></p><p><number>10</number></p><p><inpromotion>False</inpromotion></p><p></product></p><p></products></p><p></order></p><p><order id="116818"></p><p><recievedon>08/02/2013 09:19:02</recievedon></p><p><processed>False</processed></p><p><referencenumber>13/4/9080/0116224</referencenumber></p><p><remarks></remarks></p><p><products></p><p><product></p><p><productkey>A-0102053</productkey></p><p><description>AUREOMYCINE OOGZALF 1% 5GR</description></p><p><cnknumber>0102053</cnknumber></p><p><price>1.60</price></p><p><vat>6.00</vat></p><p><pricepublic>5.76</pricepublic></p><p><number>5</number></p><p><inpromotion>False</inpromotion></p><p></product></p><p></products></p><p></order></p><p><order id="116383"></p><p><recievedon>06/02/2013 09:37:34</recievedon></p><p><processed>True</processed></p><p><referencenumber>13/4/9080/0116222</referencenumber></p><p><remarks></remarks></p><p><products></p><p><product></p><p><productkey>ACPTAB00</productkey></p><p><description>ACP 20 TABLETTEN</description></p><p><cnknumber>0864686</cnknumber></p><p><price>7.47</price></p><p><vat>6.00</vat></p><p><pricepublic>12.26</pricepublic></p><p><number>1</number></p><p><inpromotion>False</inpromotion></p><p></product></p><p><product></p><p><productkey>HIJDCA32</productkey></p><p><description>HI J/D CANINE 12 KG</description></p><p><cnknumber></cnknumber></p><p><price>43.88</price></p><p><vat>21.00</vat></p><p><pricepublic>82.00</pricepublic></p><p><number>1</number></p><p><inpromotion>False</inpromotion></p><p></product></p><p></products></p><p></order></p><p></orders></p><p>

========================================================

Link to comment

1 answer to this question

Recommended Posts

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...