AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

XML Parsen

Ein Thema von kingflo · begonnen am 3. Nov 2006 · letzter Beitrag vom 3. Nov 2006
Antwort Antwort
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#1

XML Parsen

  Alt 3. Nov 2006, 09:42
Hallo.. ich habe ein problem mit einem Result, den ich als XML bekomme...
und zwar bekomme ich den nicht richtig geparst.

Die XML Datei sieht folgendermaßen aus:

XML-Code:
<item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:Map">
  <item>
    <key xsi:type="xsd:string">UserID</key>
    <value xsi:type="xsd:string">10000200</value>
  </item>
  <item>
    <key xsi:type="xsd:string">UserName</key>
    <value xsi:type="xsd:string">soularis</value>
  </item>
  <item>
    <key xsi:type="xsd:string">firstname</key>
    <value xsi:type="xsd:string">Stefan</value>
  </item>
  <item>
    <key xsi:type="xsd:string">lastname</key>
    <value xsi:type="xsd:string">Schulze</value>
  </item>
  <item>
    <key xsi:type="xsd:string">country</key>
    <value xsi:type="xsd:string">DE</value>
  </item>
  <item>
    <key xsi:type="xsd:string">city</key>
    <value xsi:type="xsd:string">Hamburg</value>
  </item>
</item>

<item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:Map">
  <item>
    <key xsi:type="xsd:string">UserID</key>
    <value xsi:type="xsd:string">10000205</value>
  </item>
  <item>
    <key xsi:type="xsd:string">UserName</key>
    <value xsi:type="xsd:string">teichlotte</value>
  </item>
  <item>
    <key xsi:type="xsd:string">firstname</key>
    <value xsi:type="xsd:string">Iris</value>
  </item>
  <item>
    <key xsi:type="xsd:string">lastname</key>
    <value xsi:type="xsd:string">Teichmann</value>
  </item>
  <item>
    <key xsi:type="xsd:string">country</key>
    <value xsi:type="xsd:string">DE</value>
  </item>
  <item>
    <key xsi:type="xsd:string">city</key>
    <value xsi:type="xsd:string">Stocksee</value>
  </item>
</item>
<item xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns2:Map">
  <item>
    <key xsi:type="xsd:string">UserID</key>
    <value xsi:type="xsd:string">10000204</value>
  </item>
  <item>
    <key xsi:type="xsd:string">UserName</key>
    <value xsi:type="xsd:string">yutha</value>
  </item>
  <item>
    <key xsi:type="xsd:string">firstname</key>
    <value xsi:type="xsd:string">Jutta</value>
  </item>
  <item>
    <key xsi:type="xsd:string">lastname</key>
    <value xsi:type="xsd:string">Liwanetz</value>
  </item>
  <item>
    <key xsi:type="xsd:string">country</key>
    <value xsi:type="xsd:string">DE</value>
  </item>
  <item>
    <key xsi:type="xsd:string">city</key>
    <value xsi:type="xsd:string">Hamburg</value>
  </item>
</item>
Ich hatte dann versucht es mit TJvSimpleXML zu parsen, und hatte z.B folgendes ausprobiert:

Delphi-Quellcode:
var
i:integer;
begin
XMLDoc.LoadFromString(memo1.Lines.Text);

  for i:=0 to xmldoc.Root.Items.Count-1 do begin
   showmessage(XmlDoc.Root.Items.Item[i].Items.ItemNamed['key'].Value);
   showmessage(XmlDoc.Root.Items.Item[i].Items.ItemNamed['value'].Value);
  end;


end;
Nur leider bekomme ich damit aus irgendeinem Grund nur die Informationen zum ersten User.. also nur diese hier...

XML-Code:
    <key xsi:type="xsd:string">UserID</key>
    <value xsi:type="xsd:string">10000200</value>
  </item>
  <item>
    <key xsi:type="xsd:string">UserName</key>
    <value xsi:type="xsd:string">soularis</value>
  </item>
  <item>
    <key xsi:type="xsd:string">firstname</key>
    <value xsi:type="xsd:string">Stefan</value>
  </item>
  <item>
    <key xsi:type="xsd:string">lastname</key>
    <value xsi:type="xsd:string">Schulze</value>
  </item>
  <item>
    <key xsi:type="xsd:string">country</key>
    <value xsi:type="xsd:string">DE</value>
  </item>
  <item>
    <key xsi:type="xsd:string">city</key>
    <value xsi:type="xsd:string">Hamburg</value>
Kann mir da vielleicht irgendwie jemand helfen? ich hatte schon viel versucht, aber es hat leider nichts geklappt.
Florian Gilde
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: XML Parsen

  Alt 3. Nov 2006, 10:16
Was du hast, ist kein XML-Dokument. Mag sein, dass ein Parser über den fehlenden Header hinwegsieht, aber XML-Dokumente dürfen nur ein Wurzelelement haben. Du hast aber 3.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
kingflo

Registriert seit: 21. Jun 2004
Ort: Hamburg
502 Beiträge
 
Delphi 7 Professional
 
#3

Re: XML Parsen

  Alt 3. Nov 2006, 10:31
mmm... wie könnte ich es denn sonst am bessten parsen?
Florian Gilde
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: XML Parsen

  Alt 3. Nov 2006, 10:52
Hi Florian,

wenn die Datei wirklich so aussieht, dann kannst du einfach beim Einlesen das root document element ergänzen.

Grüße vom marabu
Angehängte Dateien
Dateityp: zip xml-jedi_186.zip (2,4 KB, 39x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#5

Re: XML Parsen

  Alt 3. Nov 2006, 11:17
JvSimpleXML sollte da auch meckern, wenns mehr als ein root-element gibt.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz