Hallo,
habe ein Problem für das Meister Google noch keine Lösung gefunden hat.
Ich hole mit einem PHP-Script Daten aus einer Mysql Datenbank und gebe die Daten als XML zurück. Dann lese ich das XML in ein Dataset. Soweit funktioniert alles wunderbar. Allerdings gibt es eine Tabelle in welcher der Tabellenname auch als Spaltenname verwendet wird. Etwa so:
<products_description>
<id>1</id>
<products_short_description>bla,bla</products_short_description>
.
.
.
<products_description>bla,bla</products_description>
<products_description>
Dieses XML wird nicht korrekt eingelesen. Aus 'products_description' wird eine neue Spalte 'products_description_ID' und aus einer Zeile werden 2.
Hat vielleicht jemand eine Idee wie man dieses Problem lösen kann ohne die Tabellenstruktur zu ändern oder die Daten 'manuell' in die Tabelle einzulesen.
Dank im voraus
Grüße Conny
Edit:
Also wenn man das XML in ein XDOCUMENT einließt und dann die Daten zu Fuß einliest, sieht das ungefähr so aus:
Das funtzt. Ist aber nicht so elegant wie DataSet.ReadXml(xml). Vielleicht hat ja doch noch jemand eine Idee.
habe ein Problem für das Meister Google noch keine Lösung gefunden hat.
Ich hole mit einem PHP-Script Daten aus einer Mysql Datenbank und gebe die Daten als XML zurück. Dann lese ich das XML in ein Dataset. Soweit funktioniert alles wunderbar. Allerdings gibt es eine Tabelle in welcher der Tabellenname auch als Spaltenname verwendet wird. Etwa so:
<products_description>
<id>1</id>
<products_short_description>bla,bla</products_short_description>
.
.
.
<products_description>bla,bla</products_description>
<products_description>
Dieses XML wird nicht korrekt eingelesen. Aus 'products_description' wird eine neue Spalte 'products_description_ID' und aus einer Zeile werden 2.
Hat vielleicht jemand eine Idee wie man dieses Problem lösen kann ohne die Tabellenstruktur zu ändern oder die Daten 'manuell' in die Tabelle einzulesen.
Dank im voraus
Grüße Conny
Edit:
Also wenn man das XML in ein XDOCUMENT einließt und dann die Daten zu Fuß einliest, sieht das ungefähr so aus:
Code:
For Each xerow As XElement In xdoc.Root.Elements tab = sds.Tables(xerow.Name.LocalName) Dim row As DataRow = tab.NewRow For Each xefield As XElement In xerow.Elements row(xefield.Name.LocalName) = xefield.Value Next tab.Rows.Add(row) Next