![]() |
MSXML - Mehrere Rows in einem XML Node
Hallo,
habe eine XML Datei mit folgender Struktur,
XML-Code:
lese dies folgend aus
<haupt>
<texte> <Row>Text 1 usw</Row> <Row>Text 2 usw</Row> <Row>Text 3 usw</Row> <Row>Text 4 usw</Row> </texte> </haupt>
Delphi-Quellcode:
Bekomme jetzt immer in subnode.text alle Einträge der Zeilen auf einmal.
anfrage := xmlDoc.selectNodes('//haupt');
for i := 0 to anfrage.length - 1 do begin subnode := anfrage.item[i].selectSingleNode('texte'); mem_kopf.Lines.Add(subnode.text); end; Wie kann ich diese wieder trennen? Danke für eure Hilfe |
Re: MSXML - Mehrere Rows in einem XML Node
Warum machst du nicht gleich das:
Delphi-Quellcode:
Ist einfacher, kürzer und funktioniert genauso. ;)
anfrage := xmlDoc.selectNodes('/haupt/texte/Row');
for i := 0 to anfrage.length - 1 do begin { ... } end; |
Re: MSXML - Mehrere Rows in einem XML Node
Danke,
hat fast funktioniert
Delphi-Quellcode:
aber perfekt, danke.
anfrage := xmlDoc.selectNodes('//haupt/texte/Row');
for i := 0 to anfrage.length - 1 do begin { ... } end; lg |
Re: MSXML - Mehrere Rows in einem XML Node
Nur als Anmerkung: Zwei Slashes nimmt man eigentlich nur, wenn man auf Knoten zugreifen will, die sich irgendwo in der Datei befinden können. Nehmen wir folgendes Beispiel:
XML-Code:
dann kriegst du mit
<ganz oben>
<Knoten/> <AndererKnoten> <Knoten/> </AndererKnoten> <Und noch ein Knoten> <Da wieder einer> <Knoten/> </Da wieder einer> </Und noch ein Knoten> </ganz oben>
Delphi-Quellcode:
alle gleichnamigen Knoten egal wo die sind. Eine bestimmte Struktur wird dabei nicht berücksichtigt. Mit anderen Worten: Wenn dich der Aufbau der XML-Datei nicht interessiert, dann reicht auch schon:
anfrage := xmlDoc.selectNodes('//Knoten');
Delphi-Quellcode:
in deinem Fall.
anfrage := xmlDoc.selectNodes('//Row');
Ein Slash dagegen (unter der Bedingung, dass "xmlDoc" nicht schon auf den Root-Knoten "haupt" zeigt) setzt eine bestimmte Struktur voraus. Mehr dazu findest du in Microsofts XML-SDK oder im PSDK. |
Re: MSXML - Mehrere Rows in einem XML Node
ok, danke.
stimmt ich habe eine komplexere struktur als in meinem beispiel angegeben. lg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz