2009-06-17 5 views
1

Ich versuche, eine XML-Datei zu analysieren, die ich habe (mit Javascript DOM). und dann möchte ich diese daten in eine mysql-tabelle (mit php) einfügen.parsen XML und Einfügen von Daten in MySQL-Tabelle

Ich weiß, wie XML-Daten zu analysieren. Aber ich bin nicht in der Lage, herauszufinden, wie man PHP und Javascript zusammen benutzt und fügt Daten in mysql Tabelle ein.

Bitte helfen Sie mir dabei.

Beste Zeeshan

Antwort

2

Warum verwenden Sie nicht einfach PHP DOM, um das XML zu parsen?

z:

$doc = new DOMDocument(); 
$doc->load('book.xml'); 
echo $doc->saveXML(); 

Nach Ihrem Dokument $doc geladen können Sie die PHP DOM-Funktionen verwenden.

+0

Ich würde gerne php dom verwenden. es wird die Dinge so einfach machen, richtig? können Sie mir bitte ein paar Beispiele geben, wo ich lernen kann, wie XML in PHP dom zu analysieren. –

2

Die JavaScript die Daten an den Server senden muss. Es gibt mehrere Möglichkeiten, dies zu erreichen.

  1. ein Formular generieren und senden es
  2. Verwendung XMLHttpRequest direkt
  3. Bibliothek verwenden wie YUI oder jQuery

Dort angekommen, bekommen Sie die Daten (von $ _POST zum Beispiel) und insert it into MySQL as normal .

+0

das ist dumm von mir, aber können Sie mir sagen, wie soll ich ein Formular erstellen, das alle meine xml analysierten Daten hat, und dann kann ich php auf Server einreichen, so dass es jeden Datensatz von meinem XML in eine einfügen kann Tabelle –

+0

var form = document.createElement ('form'); form.action = 'foo.php'; form.method = "post"; var data1 = document.createElement ('Eingabe'); data1.value = meineVar; data1.name = "daten1"; form.appendChild (Daten1); document.body.appendChild (Formular); form.submit();/* Vereinfacht natürlich */ – Quentin

1

können Sie jQuery verwenden, um dies zu tun, zum Beispiel:

<house> 
<roof>as</roof> 


<door>asd</door><window number="12">iles</window></house> 

$ ('path_to_xml', xml) .each (function() { Dach = $ ('Dach', this) .text(); door = $ ('door', dies) .text(); num_wind = $ ('window', this) .attr ('nummer'); });