Ich dachte ich wollte es mal "richtig" machen und das
XML-Binding von Delphi verwenden.
Nun hab ich das Problem nach dem Einlesen einer
XML-Datei, das ich auf die Inhalte von Knoten nicht über ihren Namen zugreifen kann, also die Inhalte sind leer.
Ich fang mal einfach an:
Code:
ShowMessage(
xml.ChildNodes['HeaderExchangedDocument'].ChildNodes['ID'].Text);
So hätte ich es gern, allerdings ist Text leer (so arbeitet auch das Binding)
wenn ich mit einer Schleife über die Kinder von HeaderExchangedDocument gehe
klappt es
Code:
for l := 0 to
xml.ChildNodes['HeaderExchangedDocument'].ChildNodes.Count-1 do
if
xml.ChildNodes['HeaderExchangedDocument'].ChildNodes[l].IsTextElement then
begin
ShowMessage(
xml.ChildNodes['HeaderExchangedDocument'].ChildNodes[l].Text);
ShowMessage(
xml.ChildNodes['HeaderExchangedDocument'].ChildNodes[l].NodeName);
end;
mach ich was falsch?
hier mal der Anfang der
XML-Datei
Code:
<?
xml version="1.0" encoding="UTF-8"?>
<rsm:CrossIndustryDocument xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rsm="urn:ferd:CrossIndustryDocument:invoice:1p0" xmlns:
ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:12" xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:15">
<rsm:HeaderExchangedDocument>
<
ram:ID>RK21012345</
ram:ID>
....