Ga naar inhoud
  • 0

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


Timke

Vraag

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 naar reactie

1 antwoord op deze vraag

Aanbevolen berichten

Doe mee aan dit gesprek

Je kunt dit nu plaatsen en later registreren. Indien je reeds een account hebt, log dan nu in om het bericht te plaatsen met je account.

Gast
Beantwoord deze vraag...

×   Geplakt als verrijkte tekst.   Plak in plaats daarvan als platte tekst

  Er zijn maximaal 75 emoji toegestaan.

×   Je link werd automatisch ingevoegd.   Tonen als normale link

×   Je vorige inhoud werd hersteld.   Leeg de tekstverwerker

×   Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in

×
×
  • Nieuwe aanmaken...