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
Seite 2 von 2     12   
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: wie komm ich nur an die Werte ?

  Alt 8. Mär 2018, 09:24
@himitsu googeln tu ich immer vorher .. nur wenn ich nach Stunden keine Lösung finde
frag ich mal in ein Forum nach .. natürlich nicht um nur auf Google hingewiesen zu werden
nur mal Rande mit erwähnt..
Es ist schon irgendwo ziemlich daneben, nachzufragen was XPath ist, OBWOHL im Beitrag zuvor LINKS dazu eingearbeitet wurden und dann hinterher sich zu mokieren, dass man angeblich gegängelt wird, weil man nicht gegoogelt hat. Was ja so nicht in diesem Thread stattfand.
  Mit Zitat antworten Zitat
Gege

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

AW: wie komm ich nur an die Werte ?

  Alt 8. Mär 2018, 10:53
Hallo TiGü

hast Du mal die Links angeklickt ?
klar bei wiki steht das es eine Sprache ist und dann findet man viele links mit Usern die auch Probleme haben im Bezug auf ganz andere Dinge
und man kann wieder viele Stunden vertreiben um trotzdem nicht ans Ziel zu kommen.
Ich war auch davon ausgegangen das so ein Forum nicht nur ein Ersatz und Hilfestellung zu Google sein soll.
War kein mokieren sondern nur ein Hinweis das es nicht immer die beste Antwort sein könnte.
Er hat mir mit einen Hinweis ja auch weiter geholfen.
mfg
Gege
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: wie komm ich nur an die Werte ?

  Alt 8. Mär 2018, 10:58
Die Syntax vom XPath ist recht einfach und überall gleich,
aber je nach Version und verwendeter Schnittstelle (Objektkapselung im Delphi oder eine der verschiedenen Interfaces) unterscheiden sich die Namen Methoden/Property und wo sie sich jeweils verstecken, das hab ich nunmal nicht alles im Kopf.
Darum auch der Link mit (hoffentlich" passenden Suchworten, damit sich jemand das für ihn passende Interface raussuchen kann.
$2B or not $2B
  Mit Zitat antworten Zitat
Gege

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

AW: wie komm ich nur an die Werte ?

  Alt 8. Mär 2018, 11:17
Hi himitsu,

ich hab zwar eine Lösung aber im Prinzip bin ich immer noch nicht schlauer was die Verwendung von XPath in Delphi angeht
wie beschrieben bekomme ich bei selectSingleNode ja schon Fehler .. da muss ja irgendwo vorher etwas anders eingestellt werden ..
und ja ich habe mir über die links alles möglich durchgelesen aber gerade den Part eben nicht finden können.
Nur auch solche Beispiele wie von Dir deswegen dachte ich es gibt evtl. eine andere Komponente als die IXMLdocument

Aber ich kann mit der jetzigen Lösung leben ..
in diesen speziellen Fall kann ich es sogar verkürzen und brauch die
Procedure nicht da die Quell XML-Datei immer die gleiche ist
deswegen brauch ich nicht suchen sondern kann per Index
immer gleiche zugreifen.
Gerd
  Mit Zitat antworten Zitat
Gege

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

AW: wie komm ich nur an die Werte ?

  Alt 8. Mär 2018, 12:58
ich hab ein XML Dokument

Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<Document>
  <Doctype>PDF</Doctype>
  <Index>
   <Var Name="*FIRMA" Value="F61" />
   <Var Name="*BELEGART" Value="VK" />
   <Var Name="*BELEGKREIS" Value="LF" />
   <Var Name="*BELEGNR" Value="0845578" />
   <Var Name="*BELEGDATUM" Value="2018-02-22" />
   <Var Name="*KONTOTYP" Value="D" />
   <Var Name="*ADRESSNR" Value="71362" />
  </Index>
</Document>
mein Ziel ist es einen Wert bei

<Var Name="*ADRESSNR" Value="71362" />

in zum Beispiel
<Var Name="*ADRESSNR" Value="08157" />

zu ändern ...
Code:

 ( xmldoc:IXMLNode; )

xmldoc.ChildNodes.Nodes['Index'].ChildNodes['Var'].Attributes['Value'].NodeValue .. ??
funktioniert natürlich nicht .. hmm wie greif ich denn nur darauf zu

die genaue Antwort ist

Code:
xmldocument1.ChildNodes['Document'].ChildNodes.Nodes['Index'].ChildNodes[6].Attributes['Value']:='08157';
falls es auch jemand braucht

viele Grüße
Gege
Gerd
  Mit Zitat antworten Zitat
sko1

Registriert seit: 27. Jan 2017
601 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#16

AW: wie komm ich nur an die Werte ?

  Alt 8. Mär 2018, 14:42
xmldocument1.ChildNodes['Document'].ChildNodes.Nodes['Index'].ChildNodes[6].Attributes['Value']:='08157';

Falls es jemand braucht sollte dann bis hinten konsequent "benamst" werden!

Wer garantiert dass übermorgen noch ChildNodes[6] die Adressnummer ist?
Wäre da ebenfalls die Angabe des Namens '*ADRESSNR' sinnvoller?

Ciao
Stefan
  Mit Zitat antworten Zitat
Gege

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

AW: wie komm ich nur an die Werte ?

  Alt 8. Mär 2018, 15:02
Zitat:
Wer garantiert dass übermorgen noch ChildNodes[6] die Adressnummer ist?
weil ich diese xml immer selber als Vorlage öffne
und jeweils geändert nur unter anderen Namen abspeichere..
Hintergrund ist ich bekomme PDF Files in denen im Namen die '*ADRESSNR' steht und ich unter gleichen Namen die XML Datei dazu erzeugen muss
(Für ein Archivsystem)
Sicher die einfachste Methode ist die XML immer neu einfach zusammenzubauen
aber da es diese Funktionen nun mal gibt wollte ich sie auch nutzen
Gerd
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: wie komm ich nur an die Werte ?

  Alt 8. Mär 2018, 15:06
Wäre da ebenfalls die Angabe des Namens '*ADRESSNR' sinnvoller?
Genau das ist eine der Stärken von XPath.

Ähnlich wie das Dateipfad im Explorer, aber mit mehr Möglichkeiten zum Suchen.
'Document/Index/Var[6]/attribute::Value' der 7. "VAR"-Knoten, entsprechend dem xmldocument1.ChildNodes['Document'].ChildNodes.Nodes['Index'].ChildNodes[6].Attributes['Value']
'Document/Index/Var[@Name="*ADRESSNR"]/attribute::Value' der "VAR"-Knoten mit einem Attribut "Name"="*ADRESSNR"
$2B or not $2B

Geändert von himitsu ( 8. Mär 2018 um 15:11 Uhr)
  Mit Zitat antworten Zitat
Gege

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

AW: wie komm ich nur an die Werte ?

  Alt 8. Mär 2018, 15:16
das mag ja richtig sein ..
wenn mir aber NIEMAND sagen kann wie ich das mit XPath machen kann nehm ich die Variante die mir wenigstens jemand sagt und die auch funktioniert
Gerd
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:31 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