Verarbeitung von XML-Dokumenten mit XPath

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
Kay
Beiträge: 134
Registriert: So 14. Nov 2010, 15:17

Verarbeitung von XML-Dokumenten mit XPath

Beitrag von Kay »

Hallo,

ich bräuchte etwas Hilfe bei der Verarbeitung von XML-Dokumenten. Speziell würde mich interessieren, ob es eine Möglichkeit gibt, eine Liste mit Elementen durch XPath zu generieren.
Ich habe folgenden Code in C# und würde ihn gern nach Delphi/Lazarus portieren:

Code: Alles auswählen

public void Load(string fileName)
{
  XmlDocument doc = new XmlDocument();
  doc.Load(fileName);
 
  XmlNamespaceManager mgr = new XmlNamespaceManager(doc.NameTable);
  mgr.AddNamespace("dtb", doc.DocumentElement.NamespaceURI);
 
  ResolveMetaElements(doc.SelectNodes("//dtb:html/dtb:head/dtb:meta", mgr));
}
 
private void ResolveMetaElements(XmlNodeList nodes)
{
}
Geht das überhaupt oder muss ich den DOM immer rekursiv durchlaufen und mir die Elemente quasi "manuell" aufsammeln?

Vielen Dank schonmal und viele Grüße

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Verarbeitung von XML-Dokumenten mit XPath

Beitrag von m.fuchs »

Es gibt eine Unit namens xpath. Schau doch da mal rein, ob die dir alles bietet was du brauchst.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

Kay
Beiträge: 134
Registriert: So 14. Nov 2010, 15:17

Re: Verarbeitung von XML-Dokumenten mit XPath

Beitrag von Kay »

OK, ich hab mir die Unit angeschaut. Ich versteh allerdings ihre Funktionsweise nicht. Vielleicht könntest du ein kleines Beispiel zur Selektion angeben?

Benutzeravatar
theo
Beiträge: 10871
Registriert: Mo 11. Sep 2006, 19:01

Re: Verarbeitung von XML-Dokumenten mit XPath

Beitrag von theo »

Man könnte ja auch mal die Forensuche bemühen.

http://www.lazarusforum.de/viewtopic.php?f=18&t=7261

BeniBela
Beiträge: 320
Registriert: Sa 21. Mär 2009, 17:31
OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
CPU-Target: 64 Bit

Re: Verarbeitung von XML-Dokumenten mit XPath

Beitrag von BeniBela »

Es gibt auch noch eine XPath 2 Implementation in meinen Internet Tools. Z.B.::

Code: Alles auswählen

uses simpleinternet;
var node: IXQValue;
for node in process(fileName, '//dtb:html/dtb:head/dtb:meta') do writeln(node.toString);
 

Kay
Beiträge: 134
Registriert: So 14. Nov 2010, 15:17

Re: Verarbeitung von XML-Dokumenten mit XPath

Beitrag von Kay »

Ich hab alles hinbekommen. Vielen Dank nochmal für eure Tipps!

Antworten