[XML] input verwerken naar XML

Pagina: 1
Acties:

  • Gaafy
  • Registratie: Juli 2001
  • Laatst online: 03-06-2024
Hoi,

Ik ben bezig een XML applicatie te schrijven, die gegevens uit de input (door middel van een formulier) naar een server stuurt. Deze gegevens moeten in XML (d.m.v. SOAP verzonden worden.

De makkelijkste manier is om de input gegevens op de server d.m.v. van PHP om te zetten naar XML, en dan te verzenden. Dan heb je echter onnodig dataverkeer. Vandaar de volgende vragen:

Is het mogelijk om de input gegevens op de client om te vormen naar XML, en hoe kan dit (zou dit kunnen met js?).
Zijn er tutorials en voorbeeld op dit gebied bekend?

Alvast bedankt, Gaafy

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Gaafy: Is het mogelijk om de input gegevens op de client om te vormen naar XML, en hoe kan dit (zou dit kunnen met js?).
Niet echt een antwoord op je vraag, maar toch vrij relevant: waar jij op wacht is XForms. Extreem cool systeem wat in de toekomst het invoeren van XML-data via forms subliem makkelijk gaat maken: http://www.w3.org/MarkUp/Forms/

Verder kan ik je helaas niet echt tips geven op dit punt... Ik probeer HTML userinterfaces meestal te ontlopen ;) . Je zou eventueel perfect een Java Applet/Webstart oplossing kunnen gebruiken, maar dat zal wel niet bepaald zijn wat je wilt helaas.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Gaafy
  • Registratie: Juli 2001
  • Laatst online: 03-06-2024
Ik probeer HTML userinterfaces meestal te ontlopen
Het hoeft voor mij niet echt een HTML UI te zijn. Als het makkelijk is doormiddel van XML in combinatie met CSS of XSL kan ik dat ook gebruiken.

Die Xforms zien er wel goed uit, alleen dat gaat dus pas in werken in IE9 of zo...

  • DPhoenix
  • Registratie: Februari 2001
  • Laatst online: 21:04
Die XForms lijken mij ook wel interessant. Als ik het goed begrijp zijn is dat niets meer dan User Interface in de vorm van een formulier waarin je je data in kan vullen zodat deze in een XML bestand wordt wegeschreven?

Ik heb nu ook een opdrachtje om een bestaande site met XML te enigszins te veranderen omdat hij op enkele punten niet voldoet. Alleen ben ik er nog niet achter hoe de data in de XMLbestanden wordt wegschreven.

De site maakt ook gebruik van CGIbestanden, ik weet niet of dat wat uitmaakt.

Maar duurt het nog zolang voordat die XForms af zijn dan? IE9?

En kan iemand mij helpen of uitleg geven hoe ik User Interface moet bouwen zonder die XForms dan? :? Zou het zeer op prijs stellen.

AULXJMHR


Verwijderd

met javascript kan je bijv het volgende doen:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<html>
  <head>
    <title>Test</title>
    <script language="vbscript">
    </script>
    <script language="javascript">      
        function generateXML()
        {   var xmlData, pi, rootElement, persoonTag, vNaamTag, aNaamTag, wPlaatsTag, voornaam, achternaam, woonplaats;
            
            xmlData = new ActiveXObject("Microsoft.XMLDOM");
            
            voornaam = document.test.voornaam.value;
            achternaam = document.test.achternaam.value;
            woonplaats = document.test.woonplaats.value;
            
            pi = xmlData.createProcessingInstruction("xml", "version=\"1.0\"");
            pi = xmlData.insertBefore(pi, xmlData.childNodes.item(0));

            rootElement = xmlData.createElement("personen");
            xmlData.documentElement = rootElement;

            persoonTag = xmlData.createElement("persoon");
            vNaamTag = xmlData.createElement("voornaam");
            aNaamTag = xmlData.createElement("achternaam");
            wPlaatsTag = xmlData.createElement("woonplaats");

            vNaamTag.text = voornaam;
            aNaamTag.text = achternaam;
            wPlaatsTag.text = woonplaats;

            persoonTag.appendChild(vNaamTag);
            persoonTag.appendChild(aNaamTag);
            persoonTag.appendChild(wPlaatsTag);
            rootElement.appendChild(persoonTag);
            
            alert(xmlData.xml);
        }
    </script>
  </head>
  <body>
    <form name="test">
    <table>
      <tr>
        <td>Voornaam</td>
        <td><input type="text" name="voornaam"></td>
      </tr>
      <tr>
        <td>Achternaam</td>
        <td><input type="text" name="achternaam"></td>
      </tr>
      <tr>
        <td>Woonplaats</td>
        <td><input type="text" name="woonplaats"></td>
      </tr>
      <tr>
        <td colspan="2" align="center"><input type="button" name="submit" value="Maak XML" onclick="javascript:generateXML();"></td>
      </tr>
    </table>
    </form>
  </body>
</html>

Even snel in mekaar gezet, maar het geeft aan hoe je xml clientside kan genereren. Werkt alleen in IE btw...

  • DPhoenix
  • Registratie: Februari 2001
  • Laatst online: 21:04
Mas*Mind >>> Bedankt voor het voorbeeld! :P

Het heeft me wat duidelijkheid gegeven. Alleen ik zie dat hij alleen doormiddel van een script in een schermpje het XML bestand weergeeft.

Zou je misschien aan kunnen tonen hoe de de data (in dit geval de voornaam, achternaam, woonplaats) direct in een xmlbestand worden geplaatst ipv in een schermpje hoe het bestand eruit ziet?

Dus dat er een *.xml uitrold met daarin de info?

AULXJMHR


Verwijderd

dat kan nou weer net niet met javascript...

Je kan client-side trouwens wel met javascript soap-envelopes versturen:

linkje (tip: bekijk de html-source)

  • Gaafy
  • Registratie: Juli 2001
  • Laatst online: 03-06-2024
Als je die output van een soap envellope kan voorzien, en dan kan versturen, dan kan je hem toch ook naar je eigen hd sturen?

Dat komt dan neer op het zelfde als opslaan...

Gaafy
Pagina: 1