Einzelnen Beitrag anzeigen

Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#1

IXMLNode Typ ntElement Werte auslesen

  Alt 15. Dez 2021, 11:36
Delphi-Version: 10.3 Rio
Hallo

Ich habe eine XML - Datei mit folgendem Inhalt:
<?xml version="1.0" encoding="windows-1252" ?>
<ControlStatements xmlns="http://dev.docuware.com/Jobs/Control" xmlnssi="http://www.w3.org/2001/XMLSchema-instance">
<Page>
<Field dbName="BEARBEITUNGSSTATUS_" type="Text" value="Intelligent Indexing"/>
<Field dbName="BARCODE" type="Text" value=""/>
<Field dbName="DOK__TYP_" type="Text" value="ER"/>
<Field dbName="LOTUSNOTESNR" type="Text" value="0130A6C8F35BEF70C12587A6003907D1"/>
<Field dbName="ANHANGNAME" type="Text" value="body.html"/>
<Field dbName="BEMERKUNG" type="Text" value=""/>
<Field dbName="MANDANT" type="Numeric" culture="de-DE" value="11"/>
</Page>
</ControlStatements>

Im Testprojekt versuche ich leider erfolglos an die Werte zu kommen:

Delphi-Quellcode:
procedure TFrmMain.AfterConstruction;
Var
  LRoot: IXMLNode;
  LNode: IXMLNode;
  I: Integer;
  s: string;
begin
  inherited;
  XMLDoc.FileName := '0130A6C8F35BEF70C12587A6003907D1_0000000000_ER_body.dwcontrol';
  XMLDoc.Active := True;
  LRoot := XMLDoc.DocumentElement.ChildNodes.Nodes['Page'];
  for I := 0 to LRoot.ChildNodes.Count - 1 do
  begin
    LNode := LRoot.ChildNodes.Nodes[I];
    // wie komme ich an die Werte?
    s := LNode.NodeName;
    s := s;
  end;
end;
In der Schleife bekomme ich auch 7 Nodes mit jeweils NodeName 'Field' und NodeType ntElement.
Wie kann ich jetzt in der Zeile
<Field dbName="DOK__TYP_" type="Text" value="ER"/>
den Value auf "BT" ändern?

Vielen Dank

Frank Reim
Frank Reim
  Mit Zitat antworten Zitat