XPath ist eine Sprache, die es Ihnen ermöglicht, einfach mit Ihren XML-Dokumenten zu arbeiten. Sie kann bereits über den DOM Find XML element Befehl und mit 4D v18 R3 wurde die Unterstützung der XPath-Syntax drastisch verbessert. Wenn Sie zu denjenigen gehören, die sich Funktionen wie die Verwendung eines Platzhalters in einem Pfad gewünscht haben, dann lesen Sie weiter!
Um die neue Syntax mit bestehenden Anwendungen zu verwenden, müssen Sie die Kompatibilitätseinstellung „Standard XPath verwenden“ aktivieren. Neu erstellte Datenbanken verwenden standardmäßig die neue Syntax. Sie können jetzt neue Ausdrücke wie //, @, *, last() verwenden, um Ihre Suche zu vereinfachen.
Beispiele für das Schreiben von Prädikaten
In den folgenden Beispielen verwenden wir das folgende XML-Dokument:
<?xml version="1.0" encoding="UTF-8"?> <bookstore> <book> <title lang="en">The Wheel of Time</title> <title lang="fr">La roue du temps</title> <price>29.99</price> </book> <book> <title lang="en">Harry Potter</title> <price>50.00</price> </book> <book> <title lang="en">Learning XML</title> <price>39.95</price> </book> </bookstore>
- Suche nach dem vorletzten Buchelement, das ein Kind des Elements bookstore ist:
$Dom_root2:=DOM Find XML element($Dom_root;"/bookstore/book[last()-1]";$arrAfound)
// Returns
//‹book›
// ‹title lang="en"›Harry Potter‹/title›
// ‹price›50.00‹/price›
//‹/book›
- Suchen Sie alle Titelelemente, die ein Attribut „lang“ mit dem Wert „fr“ haben:
$Dom_root2:=DOM Find XML element($Dom_root;"//title[@lang='fr']";$arrAfound)
// Returns ‹title lang="fr"›La roue du temps‹/title›
- Finde alle Buchelemente, die einen Preis von 39,95 haben:
$Dom_root2:=DOM Find XML element($Dom_root; "book[price=39.95]";$arrAfound)</br />
// Returns
//‹book›
// ‹title lang="en"›Learning XML‹/title›
// ‹price›39.95‹/price›
//‹/book›
Dies sind nur ein paar Beispiele dafür, was Sie mit den neuen Ausdrücken tun können. Sie können sie auf mehr oder weniger komplexe Weise mischen, um die gewünschten Ergebnisse zu erzielen. Lesen Sie die Dokumentation, um zu sehen, was Sie mit diesen neuen Erweiterungen im Detail tun können.