AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

OpenXML XPath Syntax problem

Ein Thema von Kostas · begonnen am 1. Feb 2011 · letzter Beitrag vom 3. Apr 2013
Antwort Antwort
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#1

OpenXML XPath Syntax problem

  Alt 1. Feb 2011, 09:43
Hallo Zusammen,
Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

 <store>

   <ResultRecord StartID="1452">
     <Total>60</Total>
   </ResultRecord>

   <ResultRecord StartID="1453">
     <Total>40</Total>
   </ResultRecord>

   <ResultRecord StartID="1454">
     <Total>86</Total>
   </ResultRecord>

 </store>

Das XML zu oberst, ist stark vereinfacht um das Problem nachzustellen.
Ich versuche das Tag "Total" per XPath zu greifen. Leider bekomme ich eine
"Not supported error." Exception.

Delphi-Quellcode:
  //Den Syntax habe ich von: http://www.w3schools.com/xpath/xpath_syntax.asp

  TotalNode := FDoc.EvaluateToNode('/store/ResultRecord[@StartID="1452"]/Total');

Hat jemand eine Idee warum?

Gruß Kostas
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.416 Beiträge
 
Delphi XE5 Professional
 
#2

AW: OpenXML XPath Syntax problem

  Alt 1. Feb 2011, 11:07
2008 hatte jemand ein ähnliches Problem:
http://www.delphipraxis.net/115068-o...atetonode.html

Müsste nicht erst ein XPath-Objekt irgendwo her?
Das DomObjekt kann kein XPath.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#3

AW: OpenXML XPath Syntax problem

  Alt 1. Feb 2011, 14:57
2008 hatte jemand ein ähnliches Problem:
http://www.delphipraxis.net/115068-o...atetonode.html

Müsste nicht erst ein XPath-Objekt irgendwo her?
Das DomObjekt kann kein XPath.

Hallo,

das ist doch schon mal ein guter Hinweis. Es gibt ja auch die Komponente "XPathExpression"
Möglicherweise muss damit etwas angestellt werden. Ich werde weitersuchen.
Sicherlich könnte ich alle nodes durchlaufen und mir die Werte einlesen. Wenn es jedoch
mit XPath gehen würde, so wäre das eine sehr elegante Lösung.

Gruß Kostas.
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#4

AW: OpenXML XPath Syntax problem

  Alt 4. Feb 2011, 16:21
Hallo Zusammen,

ich habe jetzt alles versucht darauf zu kommen wie XPath in verbindung mit OpenXML funktioniert, doch leider ohne Erfolg.
Auch den Autor von OpenXML habe ich angeschrieben, doch leider bis Heute noch keine Antwort.

Ist denn niemand im Forum der XPath nutzt?

Aktuell habe ich mein Problem gelöst indem ich mich Rekursiv durch die komplette XML Datei hangle.
Schön finde ich das nicht, wenn man weiß das es XPath gibt. Vermutlich ist es ganz was einfaches.

Gruß Kostas
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.352 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: OpenXML XPath Syntax problem

  Alt 4. Feb 2011, 16:42
Ich habe hier mal meine damaligen Erkenntnisse mit XML in ein paar Videos zusammengefasst.
Mit dem normal XMLDocument habe ich dort (über einen kleinen Umweg) XPath verwendet. Es hat jedenfalls für die ersten Versuche so funktioniert.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Kostas

Registriert seit: 14. Mai 2003
Ort: Gerstrhofen
1.112 Beiträge
 
Delphi 12 Athens
 
#6

AW: OpenXML XPath Syntax problem

  Alt 8. Feb 2011, 14:46
Hallo Stahli,

ich hebe mir soeben Deine Videos angeschaut die sehr informativ sind.
Die Methode mit den "XML-Datenbingungsexperten" wäre wohl die eleganteste.
Doch leider kann ich sie nicht verwenden da ich nur Delphi5 Enterprice habe
um alte Projekte weiter zu pflegen. Noch zudem unterscheidet sich die Struktur
innerhalb gleicher childs, und nicht zuletzt sind die XML-Files doch recht groß.

XPath wollte ich verwenden um Tags zu finden die Namentlich immer gleich sind
jedoch in der Reihenfolge sich unterscheiden können.

Als Beispiel: Das Tag Name kann nicht über den Index angesprochen werden.
Mit XPath wäre es egal wo es steht innerhalb eines Parentnode.

Ich suche also weiterhin nach einer Lösung mit XPath zusammen mit OpenXML.
Oder eine andere Komponente als OpenXML die auch XPath geherscht.
Aktuell habe ich eine Methode die mir alle childs nach einen passenden Tag durchsucht.

Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
 
<store>
 
<ResultRecord StartID="1452">
 <Total>60</Total>
 <Name>Huber</Name>
 </ResultRecord>
 
<ResultRecord StartID="1453">
 <Name>Max</Name>
 <Total>40</Total>
 </ResultRecord>
 
<ResultRecord StartID="1454">
 <Total>86</Total>
 <Alter>17</Alter>
 <Name>Moritz</Name>
 </ResultRecord>
 
</store>
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 00:41 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