Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi XML und Suchfunktion (Volltext suchen) (https://www.delphipraxis.net/28078-xml-und-suchfunktion-volltext-suchen.html)

joredue 19. Aug 2004 12:49


XML und Suchfunktion (Volltext suchen)
 
Hallo alle zusammen.

Hänge an einem Problem fest.

Mein Haupt XML-File sieht so aus
XML-Code:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<dsIDEE>
    <V_KOMPLEX>
        <IDEENR>12345678</IDEENR>
        <NAME>Frank</NAME>
        <NACHNAME>Ohnenamen</NACHNAME>
        <KOMPLEX>FSB</KOMPLEX>
        <GRUPPE>Verwaltung</GRUPPE>
    </V_KOMPLEX>
    <V_KOMPLEX>
        <IDEENR>87654321</IDEENR>
        <NAME>Luke</NAME>
        <NACHNAME>Skywalker</NACHNAME>
        <KOMPLEX>FSB2_A1</KOMPLEX>
        <GRUPPE>Entwicklung</GRUPPE>
    </V_KOMPLEX>
    <V_KOMPLEX>
        <IDEENR>xxx123</IDEENR>
        <NAME>Luke</NAME>
        <NACHNAME>Skywalker</NACHNAME>
        <KOMPLEX>Komplex 2</KOMPLEX>
        <GRUPPE>Entwicklung</GRUPPE>
    </V_KOMPLEX>
</dsIDEE>

Meine drei anderen XML-Files sehen so aus:
XML-Code:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<dsDokumente>
    <V_SCHRIFTSTUECKE>
        <IDEENR>12345678</IDEENR>
        <INHALTLAENGE>32256</INHALTLAENGE>
        <INHALTTYP>doc</INHALTTYP>
        <INHALTNAME>50020101.doc</INHALTNAME>
        <BEMERKUNG>Auflistung aller Bentigten Komponenten f r den Komplex 2</BEMERKUNG>
    </V_SCHRIFTSTUECKE>
    <V_SCHRIFTSTUECKE>
        <IDEENR>12345678</IDEENR>
        <INHALTLAENGE>132256</INHALTLAENGE>
        <INHALTTYP>doc</INHALTTYP>
        <INHALTNAME>500201011.doc</INHALTNAME>
        <BEMERKUNG>Bitte beachten</BEMERKUNG>
    </V_SCHRIFTSTUECKE>
</dsDokumente>
XML-Code:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<dsAbfrage>
    <V_ABFRAGE>
        <IDEENR>12345678</IDEENR>
        <EINHEITEN>36</EINHEITEN>
        <OPTIMIERUNG>0</OPTIMIERUNG>
        <ABSENDEDATUM>0001-01-01T00:00:00.0000000+01:00</ABSENDEDATUM>
        <UMSETZUNG>0</UMSETZUNG>
        <UMSETZUNG_BIS>0001-01-01T00:00:00.0000000+01:00</UMSETZUNG_BIS>
        <Kommentar>Kann in Komplex 2 eingegeben werden.</KOMMENTAR>
        <RUECKMELDUNG_DATUM>0001-01-01T00:00:00.0000000+01:00</RUECKMELDUNG_DATUM>
    </V_ABFRAGE>
    <V_ABFRAGE>
        <IDEENR>87654321</IDEENR>
        <EINHEITEN>79</EINHEITEN>
        <OPTIMIERUNG>1</OPTIMIERUNG>
        <ABSENDEDATUM>0001-01-01T00:00:00.0000000+01:00</ABSENDEDATUM>
        <UMSETZUNG>1</UMSETZUNG>
        <UMSETZUNG_BIS>0001-01-01T00:00:00.0000000+01:00</UMSETZUNG_BIS>
        <KOMMENTAR />
        <RUECKMELDUNG_DATUM>0001-01-01T00:00:00.0000000+01:00</RUECKMELDUNG_DATUM>
    </V_ABFRAGE>
</dsAbfrage>
XML-Code:
<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<dsRegister>
    <V_REITER_1_2>
        <IDEENR>12345678</IDEENR>
        <EINHEIT>99</EINHEIT>
        <EINGANGSDATUM>1995-11-15T00:00:00.0000000+01:00</EINGANGSDATUM>
        <ERSTELLUNGSDATUM>1995-11-15T00:00:00.0000000+01:00</ERSTELLUNGSDATUM>
        <NACHNAME>Jones</NACHNAME>
        <NAME>Marc</NAME>
        <ANSPRECHPARTNER />
        <TELEFON />
        <DURCHGEFUEHRT_VON />
        <RUECKSTELLUNG>1</RUECKSTELLUNG>
        <RUECKSTELLDATUM>0001-01-01T00:00:00.0000000+01:00</RUECKSTELLDATUM>
        <ALTERNATIV_NUMMER>0</ALTERNATIV_NUMMER>
        <ENTSCH_BEARBDATUM>0001-01-01T00:00:00.0000000+01:00</ENTSCH_BEARBDATUM>
    </V_REITER_1_2>
    <V_REITER_1_2>
        <IDEENR>87654321</IDEENR>
        <EINHEIT>21</EINHEIT>
        <EINGANGSDATUM>1995-11-15T00:00:00.0000000+01:00</EINGANGSDATUM>
        <ERSTELLUNGSDATUM>1995-11-15T00:00:00.0000000+01:00</ERSTELLUNGSDATUM>
        <NACHNAME>Hardy</NACHNAME>
        <NAME>Olliver</NAME>
        <ANSPRECHPARTNER />
        <TELEFON />
        <DURCHGEFUEHRT_VON />
        <RUECKSTELLUNG>0</RUECKSTELLUNG>
        <RUECKSTELLDATUM>0001-01-01T00:00:00.0000000+01:00</RUECKSTELLDATUM>
        <ALTERNATIV_NUMMER>0</ALTERNATIV_NUMMER>
        <ENTSCH_BEARBDATUM>0001-01-01T00:00:00.0000000+01:00</ENTSCH_BEARBDATUM>
    </V_REITER_1_2>
</dsRegister>
Ich möchte gerne eine Suche einbinden, die folgendes können soll:
Nach Eingabe in ein TEdit, sollen alle XML-Dateien nach diesem Wert durchsucht werden, und die gefundenen Stellen sollen in einem TListView angezeigt werden.

Z.B. Eingabe in TEdit="Komplex 2",
Ergebnis = gefunden:
<IDEENR>xxx123</IDEENR>, <KOMPLEX>Komplex 2</KOMPLEX>,
<IDEENR>12345678</IDEENR>, <BEMERKUNG>Auflistung aller Bentigten Komponenten f r den Komplex 2</BEMERKUNG>, <IDEENR>12345678</IDEENR>, <Kommentar>Kann in Komplex 2 eingegeben werden.</KOMMENTAR>

Wer kann mir helfen?
Danke schon mal jetzt.


Cu Achim

MathiasSimmack 19. Aug 2004 12:52

Re: XML und Suchfunktion (Volltext suchen)
 
Habe ich jetzt ein Deja vù, oder ist das doch irgendwie eine andere Frage? :gruebel:

joredue 19. Aug 2004 20:23

Re: XML und Suchfunktion (Volltext suchen)
 
Hallo Mathias.

Ja und nein. Das erste Problem bei dem Du mir schon geholfen hast, habe ich umsetzen können. Was ich jetzt haben möchte, ist eine "Volltext-Suche". Ich möchte nicht alle Inhalte aus den XML-Dateien anzeigen lassen, sondern eben nur einen "Ausschnitt" daraus.

Z.B. Eingabe in TEdit="Komplex 2",
Ergebnis = gefunden:
<IDEENR>xxx123</IDEENR>, <KOMPLEX>Komplex 2</KOMPLEX>,
-> gefunden in <dsIDEE>
---------------------------------------------------------------------
<IDEENR>12345678</IDEENR>, <BEMERKUNG>Auflistung aller Bentigten Komponenten f r den Komplex 2</BEMERKUNG>,
gefunden in -><dsDokumente>
---------------------------------------------------------------------
<IDEENR>12345678</IDEENR>, <Kommentar>Kann in Komplex 2 eingegeben werden.</KOMMENTAR>
gefunden in -> <V_ABFRAGE>
--------------------------------------------------------------------- usw. usw.

Die gesuchten Texte können mehrfach in einem oder mehreren der XML-Dateien sein.

Das suchen und springen/markieren von Strings in einem Listview habe ich auch schon umgesetzt. Aber wie schon beim ersten Posting stehe ich hier wieder vor dem selben Problem, "N" Vorkommen eines zu suchenden Strings als Teilmenge in irgend einer XML-Datei an irgend einer Stelle.

Cu

MathiasSimmack 19. Aug 2004 21:45

Re: XML und Suchfunktion (Volltext suchen)
 
Okay, sorry, dann habe ich nicht richtig gelesen. :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:14 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