Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi KLeines Problem beim Auslesen einer XML-Datei (https://www.delphipraxis.net/121687-kleines-problem-beim-auslesen-einer-xml-datei.html)

Ulrich Berger 2. Okt 2008 13:56


KLeines Problem beim Auslesen einer XML-Datei
 
Hallo allerseits,

gegeben sei die folgende XML-Datei:

XML-Code:
<?xml version="1.0" encoding="iso-8859-1" ?>
- <stammdatum typ="neu">
- <buchungskreis>
  <nummer>2002</nummer>
  <gesellschaft>Testgesellschaft</gesellschaft>
  </buchungskreis>
- <wirtschaftseinheit>
  <nummer>0345</nummer>
  <ansprechpartner>Herr Müller</ansprechpartner>
  <servicecenter>Servicecenter 1</servicecenter>
  </wirtschaftseinheit>
- <gebäudeeinheit>
  <nummer>0345.1034</nummer>
  <straße>Assenberger Hügelweg</straße>
  <hausnummer>12a</hausnummer>
  <postleitzahl>60486</postleitzahl>
  <ort>Frankfurt am Main</ort>
  <stadtteil>Bockenheim</stadtteil>
  </gebäudeeinheit>
- <mietobjekt>
  <nummer>0345.1034.7656</nummer>
  <etage>OG 1</etage>
  <lage>rechts</lage>
  <nutzungsart>Gewerbe</nutzungsart>
  </mietobjekt>
- <immobilienvertrag>
  <nummer>0345.1034.7656.03</nummer>
  <beginn>1984-04-15</beginn>
  <ende>9999-12-31</ende>
  </immobilienvertrag>
- <mieter>
  <nachname>Plömmeskötter</nachname>
  <vorname>Heribert</vorname>
  <telefon1>069-999999 (tagsüber)</telefon1>
  <telefon2>069-12123121 (privat)</telefon2>
  </mieter>
  </stammdatum>
Ich bekomme mit Delphi (Delphi 2007 unter Verwendung von TXMLDocument, DOMVendor ist MSXML) alle Werte (also alle einzelnen Attribute für buchungskreis, wirtschaftseinheit usw.) komplett ausgelesen. Nur beim ersten Einntrag '<stammdatum typ="neu">' hapert es, ich komme an den Wert für "typ" einfach nicht ran.

Hat vielleicht jemand eine Idee? Vielleicht bin ich momentan einfach betriebsblind...

Danke schon mal und Gruß Uli

omata 4. Okt 2008 18:44

Re: KLeines Problem beim Auslesen einer XML-Datei
 
Ohne Code kann man nur raten...
Delphi-Quellcode:
var XML : IXMLDocument;
    Node: IXMLNode;
begin
  XML := newXMLDocument;
  XML.XML.Text:=
    '<?xml version="1.0" encoding="iso-8859-1" ?>'#13 +
    '<stammdatum typ="neu">'#13 +
    ' <buchungskreis>'#13 +
    ' <nummer>2002</nummer>'#13 +
    ' <gesellschaft>Testgesellschaft</gesellschaft>'#13 +
    ' </buchungskreis>'#13 +
    ' <wirtschaftseinheit>'#13 +
    ' <nummer>0345</nummer>'#13 +
    ' <ansprechpartner>Herr Müller</ansprechpartner>'#13 +
    ' <servicecenter>Servicecenter 1</servicecenter>'#13 +
    ' </wirtschaftseinheit>'#13 +
    ' <gebäudeeinheit>'#13 +
    ' <nummer>0345.1034</nummer>'#13 +
    ' <straße>Assenberger Hügelweg</straße>'#13 +
    ' <hausnummer>12a</hausnummer>'#13 +
    ' <postleitzahl>60486</postleitzahl>'#13 +
    ' <ort>Frankfurt am Main</ort>'#13 +
    ' <stadtteil>Bockenheim</stadtteil>'#13 +
    ' </gebäudeeinheit>'#13 +
    ' <mietobjekt>'#13 +
    ' <nummer>0345.1034.7656</nummer>'#13 +
    ' <etage>OG 1</etage>'#13 +
    ' <lage>rechts</lage>'#13 +
    ' <nutzungsart>Gewerbe</nutzungsart>'#13 +
    ' </mietobjekt>'#13 +
    ' <immobilienvertrag>'#13 +
    ' <nummer>0345.1034.7656.03</nummer>'#13 +
    ' <beginn>1984-04-15</beginn>'#13 +
    ' <ende>9999-12-31</ende>'#13 +
    ' </immobilienvertrag>'#13 +
    ' <mieter>'#13 +
    ' <nachname>Plömmeskötter</nachname>'#13 +
    ' <vorname>Heribert</vorname>'#13 +
    ' <telefon1>069-999999 (tagsüber)</telefon1>'#13 +
    ' <telefon2>069-12123121 (privat)</telefon2>'#13 +
    ' </mieter>'#13 +
    '</stammdatum>';

  XML.Active := true;
  Node:=XML.DocumentElement;
  ShowMessage(Node.Attributes['typ']);
end;
Das erste Element ist kein Child! Vielleicht hilft dir das weiter.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:03 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