Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi XML auslesen mit TNativeXML (https://www.delphipraxis.net/90538-xml-auslesen-mit-tnativexml.html)

Glühwürmchen 19. Apr 2007 08:58


XML auslesen mit TNativeXML
 
Hallo allerseits,

ich habe die Vorgabe ein XML mit TNativeXML auszulesen.

Das XML sieht in etwa so aus:

<Data>
<ResultData>
<ScrewerDetail>
<StationResult name="INAB1033" resultcode="NIO" datetime="2007-04-17T17:42:23.859">
<Detail name="variante" value="001" unit="NR" resultcode="NIO"/>
<Detail name="modell" value="8EC0W9" unit="NR" resultcode="NIO"/>
<Detail name="sequenz" value="0674" unit="NR" resultcode="NIO"/>
<SingleResult name="I2120036" resultcode="NIO" datetime="2007-04-17T17:42:23.859"/>
</StationResult>
</ScrewerDetail>
</ResultData>
</Data>


Meine Frage lautet:
Wie komme ich beispielsweise von <Data> ausgehend an den Eintrag "8EC0W9" von model-value heran?

marabu 19. Apr 2007 09:39

Re: XML auslesen mit TNativeXML
 
Hallo,

schau dir unbedingt in der Online-Hilfe die Methoden von TXmlNode an.

Delphi-Quellcode:
var
  nsr, nd: TXmlNode;
  doc: TNativeXML;
  s: string;

begin
  nsr := doc.FindNode('/Data/ResultData/ScrewerDetail/StationResult');
  nd := nsr.NodeByAttributeValue('Detail', 'name', 'modell', False);
  s := nd.AttributeByName['value'];
end;
Getippt und nicht getestet.

Grüße vom marabu

Glühwürmchen 19. Apr 2007 13:25

Re: XML auslesen mit TNativeXML
 
Ich danke Dir schonmal für Deine Antwort, auch wenn ich noch nicht weiß, ob es mir weiterhilft.
Danke.

marabu 20. Apr 2007 05:48

Re: XML auslesen mit TNativeXML
 
Guten Morgen,

die drei Zeilen Code waren eine direkte Antwort auf deine Frage. Wenn du Probleme bei der Anpassung an deine Aufgabenstellung hast, dann kannst du hier weitere Fragen stellen.

Freundliche Grüße

Glühwürmchen 20. Apr 2007 08:27

Re: XML auslesen mit TNativeXML
 
Guten Morgen,

die drei Zeilen Code waren soweit ok und habe mich tatsächlich ein Stück weiter gebracht. Da ich jedoch ein Stück Software mit deutlich mehr Zeilen schreiben muß, wollte ich meine Antwort, ob es so geht und hilft, nicht übers Knie brechen. Ich wollte auch keine Fragen a la "wie?" und "hä?!" stellen, ohne vorher einwenig getüftelt zu haben.

Jedenfalls funktioniert Dein Code. Durch die besonderere Struktur der XML-Datei irgendwo außerhalb dessen, was ich gepostet habe, komme ich damit dennoch nicht zum Ziel. Das Ziel habe ich indess auf anderem Wege erreicht, was mich dazu führt, diese Frage als beantwortet zu markieren.
Deine Antwort würde ich gerne so, als Antwort auf die Frage stehen lassen, da ich glaube, das die mir vorliegende XML-Datei schon ein wenig speziell ist und daher nicht für die Allgemeinheit interessant. Außerdem verriete ich mit offenlegung der gesamten Datei Betriebsgeheimnisse, ....

Vielen Dank jedenfalls für Deine schnelle Antwort. Sie hat mir ja weitergeholfen.


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