![]() |
Re: XMLAttribut auslesen
Ich verstehe es nicht. Ich muss irgendwo etwas falsch machen, aber ich sehe nicht wo.
Ich habe folgende XML-Datei:
XML-Code:
Jetzt will ich den Wert von Form auslesen in Abhängigkeit vom Attribut name, wenn dasnicht klapp, weil kein passendes Attribut gefunden wurde wurde, soll das Attribut von [u]DateMap[i] ausgelesen werden.
<importkennungen>
<DateMap default="Belegdatum"> <Form name="WEAR">Lieferschein_Datum</Form> <Form name="KOAU">Belegdatum</Form> </DateMap> </importkennungen> Der Code dazu sieht so aus:
Delphi-Quellcode:
Aber XMLNode ist immer nil. Der XPath müsste aber stimmen oder habe ich da noch einen Fehler drinne? Ich verstehe es einfach nicht.
s := Format('/importkennungen/DateMap/Form[@name="%s"]', [FormName]); // FormName = WEAR
XMLNode := XMLDoc.selectSingleNode(s); // Formname gefunden, konfigurierten Wert nehmen if Assigned(XMLNode) then begin result := XMLNode.text; end // FormName nicht gefunden Default-Wert nehmen else begin XMLNode := XMLDoc.selectSingleNode('/importkennungen/DateMap/@default'); if Assigned(XMLNode) then result := XMLNode.text; end; Der plöde Parser ist mit einem Umlaut in einem Kommentar nicht klar gekommen. Fiorefox hat es richtig angezeigt, aber der IE nicht. :wall: Jetzt geht es. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:05 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