AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

wie komm ich nur an die Werte ?

Ein Thema von Gege · begonnen am 6. Mär 2018 · letzter Beitrag vom 8. Mär 2018
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#1

AW: wie komm ich nur an die Werte ?

  Alt 6. Mär 2018, 19:37
Bei Google suchenXPath / Bei Google suchendelphi xml xpath, denn da kannst du nach dem Node "Var", welcher ein Attribut Name="*ADRESSNR" suchen/fragen

oder mit Index zugreifen, also alles Nodes "Var" auflisten, mit einer Schleife alle durchgehn und deren Attribute prüfen,
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 6. Mär 2018 um 19:39 Uhr)
  Mit Zitat antworten Zitat
Gege

Registriert seit: 5. Sep 2011
Ort: Sachsen / Naunhof
77 Beiträge
 
Delphi XE7 Architect
 
#2

AW: wie komm ich nur an die Werte ?

  Alt 6. Mär 2018, 19:47
xpath .. ist das eine Komponente ?
Gerd
  Mit Zitat antworten Zitat
Blup

Registriert seit: 7. Aug 2008
Ort: Brandenburg
1.435 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: wie komm ich nur an die Werte ?

  Alt 7. Mär 2018, 09:20
Nicht getestet:
Delphi-Quellcode:
procedure SetIndexValue(ADoc: IXMLDocument; const AIndex, AValue: string);
var
  IndexNode, Node: IXmlNode;
  i: Integer;
begin
  IndexNode := ADoc.ChildNodes.Nodes['Index'];
  {Suchen und Ändern}
  for i := 0 to IndexNode.ChildNodes.Count - 1 do
  begin
    Node := IndexNode.ChildNodes[i];
    if (Node.NodeName = 'Var') and (Node.Attributes['Name'] = AIndex) then
    begin
      Node.Attributes['Value'] := AValue;
      Exit;
    end;
  end;
  {nicht gefunden, neu anlegen}
  Node := IndexNode.AddChild(AIndex);
  Node.Attributes['Name'] := AIndex;
  Node.Attributes['Value'] := AValue;
end;

SetIndexValue(xmlDox, '*ADRESSNR', '08157');
  Mit Zitat antworten Zitat
Gege

Registriert seit: 5. Sep 2011
Ort: Sachsen / Naunhof
77 Beiträge
 
Delphi XE7 Architect
 
#4

AW: wie komm ich nur an die Werte ?

  Alt 7. Mär 2018, 12:40
ok kann ich mal testen ..

melde mich mit Ergebnis

danke schon mal
Gerd
  Mit Zitat antworten Zitat
Gege

Registriert seit: 5. Sep 2011
Ort: Sachsen / Naunhof
77 Beiträge
 
Delphi XE7 Architect
 
#5

AW: wie komm ich nur an die Werte ?

  Alt 7. Mär 2018, 13:40
hab es gerade probiert ..

leider kommt das er den Knoten Index nicht finden konnte ?

kommt auch wenn ich z.B.

showmessage(xmldocument1.ChildNodes['Index'].Nodename);

mache
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#6

AW: wie komm ich nur an die Werte ?

  Alt 7. Mär 2018, 14:17
Fällt dir bei meinem Code-Beispiel etwas auf?
> DocumentElement Wenn du direkt vom Dokument aus gehst, dann mußt du den Root-Knoten <Document> mit angeben.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Gege

Registriert seit: 5. Sep 2011
Ort: Sachsen / Naunhof
77 Beiträge
 
Delphi XE7 Architect
 
#7

AW: wie komm ich nur an die Werte ?

  Alt 7. Mär 2018, 15:43
Hallo Himitsu

Deine Version hatte ich erst danach getestet ..
Hatte Deine Antwort in den Moment wo ich
Blup geantwortet habe noch nicht gesehen.

habe Dein's aber auch getestet
da bekomme ich nach

XMLDocument1.DocumentElement.

aber nicht selectSingleNode vorgeschlagen .. also
kommt da schon Fehler ..

vg Gege
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#8

AW: wie komm ich nur an die Werte ?

  Alt 7. Mär 2018, 13:10
xpath .. ist das eine Komponente ?
Wie wäre es, wenn du dir die ersten 2-3 Ergebnisse der verlinken Suchen ansiehst?
1.) was es ist
2.) wie man es im Delphi nutzt

in etwa so
XMLDocument.DocumentElement.selectSingleNode('Index/Var[@Name="*ADRESSNR"]/attribute::Value').Value := '123456';
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:52 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