Zuhause Persönliche Finanzen Analysieren von XML-Ereignissen mit SAX-Dummies

Analysieren von XML-Ereignissen mit SAX-Dummies

Inhaltsverzeichnis:

Video: Azure Friday | Azure Analysis Services Scale Out & Diagnostics 2025

Video: Azure Friday | Azure Analysis Services Scale Out & Diagnostics 2025
Anonim

Das Wort event zaubert alle Arten von Bildern. Für einen Nicht-Programmierer ist ein Ereignis nur "etwas, das passiert. "Wenn Sie es gewohnt sind, in Java mit Fenstern und Frames zu arbeiten, dann denken Sie wahrscheinlich an ein Ereignis als ein Ereignis, das ein Stück Code weckt. Zum Beispiel weckt der Mausklick oder Tastenanschlag eines Benutzers den Code auf, der eine Option festlegt und ein OK-Feld anzeigt. Der Klick oder Tastenanschlag selbst wird als -Ereignis bezeichnet, da dies unabhängig vom laufenden Programm geschieht. Nur der Benutzer weiß, wann er diese Taste drücken wird. Und wenn die Taste gedrückt wird, erwacht ein Teil des Java-Programms und behandelt die Situation. Dieses Szenario wird ereignisgesteuerte Programmierung genannt.

Ereignisgesteuerte Programmierung

SAX-Programme sind ereignisgesteuert . Zum Beispiel schlafen Sie für einen guten Schlaf ins Bett. Sie greifen hinüber, um Ihren Wecker einzustellen und sich dann einzuleben, die Augen zu schließen und für einige Stunden bewusstlos zu werden. Dann passiert ein wichtiges Ereignis: Eine bestimmte Tageszeit kommt an. Wenn das Ereignis stattfindet, geht der Wecker in den "Weckmodus" - und macht einen schrecklichen Lärm, um Sie aus Ihrem erholsamen Schlaf zu stören.

Hier ist ein anderes Szenario. Sie sind ein vielbeschäftigter Manager und werden mehrere Stunden unterwegs sein, aber Sie möchten kein wichtiges Geschäft verpassen. Bevor Sie das Büro verlassen, sagen Sie Ihrem Assistenten: "Rufen Sie mich an, wenn etwas Wichtiges auftaucht. "Die Ausgabe dieser Reihenfolge ähnelt dem Einstellen des Weckers. Sie teilen Ihrem Assistenten (Ihrem Wecker) mit, dass Sie geweckt werden, wenn ein Ereignis stattfindet. Diese Anforderung an Ihren Assistenten (oder an Ihren Wecker) wird als Registrierung bezeichnet. In beiden Fällen melden Sie sich bei einem Weckdienst an. Nachdem Sie sich registriert haben, können Sie Ihre gemächliche Nichtaktivität verfolgen und alle echten Geschäfte ignorieren, bis ein Ereignis eintritt. Dann …

Ring, Ring. Ihr Handy brüllt Sie an. "Hallo? "

" Hallo. Das ist dein Assistent. Ich habe die Verkaufszahlen für das erste Quartal. Sie sind 1 Million, 4 Million und 2 Million. "

" Mal sehen. Das sind insgesamt 7 Millionen ", sagen Sie. "Ich werde es auf meinem PalmPilot notieren. Vielen Dank. " Du legst auf.

Einige Augenblicke später erhalten Sie einen weiteren Anruf. "Der Präsident von Big Bucks, Inc., will dieses Geschäft schließen. Sie sprechen 10 Millionen Dollar. "

"Hmm", antworten Sie. "Das wird unseren jährlichen Umsatz bis zu 17 Megabucks bringen. Ich werde diese Informationen in meiner Tabellenkalkulationsanwendung speichern. Danke für den Anruf. "

Jede dieser Interaktionen ist als Callback bekannt.Zu Beginn des Tages, als Sie Ihren Wunsch mit dem Assistenten registriert haben, haben Sie einen Rückruf angefordert. Wann immer ein Ereignis stattfindet, ruft der Assistent einen Rückruf an, um Sie über das Ereignis zu informieren. In Java-Programmierbegriffen ruft der Assistent eine Ihrer vielen Methoden (eines Ihrer Java-Unterprogramme) auf.

Die Essenz der ereignisgesteuerten Programmierung

Die ereignisgesteuerte Programmierung besteht aus drei Teilen:

  • Registrierung: Sie registrieren Ihren Wunsch, benachrichtigt zu werden, wenn ein Ereignis eintritt. Sie registrieren diesen Wunsch mit einem anderen Code - einem anderen Objekt, in der Regel etwas, das Sie importiert haben (z. B. ein Stück Code, das Teil der API eines anderen ist). Dieses Objekt überwacht dann von hinten das Auftreten des von Ihnen angegebenen Ereignisses.
  • Ereignisereignis: Ein bestimmtes Ereignis wird ausgelöst.
  • Rückruf: Der andere Code führt einen Rückruf durch. Eine Ihrer Methoden wird aufgerufen.

Zwei Arten von Code

Die Unterscheidung zwischen aktivem Code und passivem Code ist nützlich:

  • Aktiver Code hat eine Hauptmethode. Aktiver Code, sobald er anfängt zu laufen, steht im Mittelpunkt. Aktiver Code enthält den Ausführungs-Thread, der das gesamte Ballspiel steuert.
  • Passiver Code sitzt einfach da und wartet darauf, gerufen zu werden. Eine passive Dice-Klasse tut nichts, bis ein anderer Code Dice aufruft. rollen().

Nun können Sie denken, dass passiver Code alles ist, was Sie für eine ereignisgesteuerte Programmierung benötigen, aber das ist es nicht. Für die Ereignisbehandlung benötigen Sie diesen Registrierungsschritt. Der passive Code beginnt mit der Registrierung eines anderen Codes.

Um diesen Begriff der Registrierung zu festigen, denken Sie an ein Beispiel aus der Bildschirmwelt der Mäuse, Fenster und Tasten. Sie erstellen ein Fenster oder einen Rahmen. Sie möchten, dass Ihr Frame auf Mausklicks reagiert. Geben Sie daher den folgenden Befehl ein:

. addMouseListener (dies);

Dieser Befehl registriert Ihren Rahmen mit der Schaltfläche. Der Befehl sagt praktisch Wenn ein Mausereignis eintritt, rufen Sie eine der Mausbehandlungsmethoden des Rahmens auf. Später, wenn der Benutzer mit der Maus klickt, erhält der Rahmen einen Rückruf. Der Computer ruft die mouseClicked-Methode des Frames auf.

SAX-Ereignisse

Sicher, SAX ist ereignisgesteuert, aber das bedeutet nicht, dass ein SAX-Programm auf Mausklicks wartet. Stattdessen folgt der SAX-Code dem in den letzten Absätzen beschriebenen Register-Ereignis-Callback-Modell. Jedes SAX-Programm verfügt über zwei unverzichtbare Codestücke:

  • Ein von Ihnen geschriebener Code - der -Handler . (Ihr Handler kann eine vorgefertigte DefaultHandler-Klasse erweitern.)
  • Der Handler ist wie die Million-Dollar-Exekutive im vorhergehenden Abschnitt.
  • Ein Stück Code, das Sie normalerweise nicht schreiben - der -Parser . Der Parser spielt eine Rolle wie der Assistent des Direktors. Die Java 1. 4-API verfügt über einen integrierten Parser. Sie erstellen eine Instanz dieses Parsers und registrieren dann Ihren Handler mit dieser Parserinstanz. Im Endeffekt weisen Sie die Instanz an, Ihren Handler immer dann zurückzurufen, wenn ein Ereignis stattfindet.

Alles, was mit XML zu tun hat, ist neu und befindet sich noch immer im Wandel. Aus diesem Grund ist die Terminologie auf besondere Weise zusammengesetzt. Bei der Entwicklung von SAX Version 2 hatten einige Techies ein Make-up-New-Name-Festival. Was normalerweise als "Parser" bezeichnet wird, ist in einer Java-Schnittstelle namens XMLReader enthalten. Früher gab es eine Klasse namens org. XML. Saxophon. Parser, aber die Klasse wurde veraltet (was bedeutet, dass Sie sie von der Unterseite Ihres Schuhs abkratzen sollten). Um die Sache etwas komplizierter zu machen, gibt es noch ein weiteres Parsing-Tool, javax. XML. Parser. SAXParser. Sie verwenden diesen SAXParser, um sich selbst zu einem XMLReader zu machen. Mit etwas Glück werden Sie sich schnell an diese komplizierte Terminologie gewöhnen. Denken Sie daran, dass ein sogenannter "Parser" normalerweise eine Instanz von XMLReader ist.

Das Register-und-Callback-Szenario macht SAX ereignisgesteuert. Das Lustige ist nun, ein SAX-Event ist nicht greifbar. Ein SAX-Ereignis erinnert Sie nicht an einen Tastendruck oder einen Tastenklick. In SAX scannt der Parser ein XML-Dokument von oben nach unten. Wenn der Parser auf etwas Interessantes stößt, löst der Parser ein Ereignis aus und ruft den Handler auf. Dann muss der Handler etwas gegen diese interessante Begegnung unternehmen.

Analysieren von XML-Ereignissen mit SAX-Dummies

Die Wahl des Herausgebers

Web Marketing: Warum Suchmaschinen existieren - Dummies

Web Marketing: Warum Suchmaschinen existieren - Dummies

Wenn Sie verstehen, warum Suchmaschinen existieren, können sie für Sie in Ihrem Web-Marketing-Geschäft arbeiten. Also, hier ist eine kurze Lektion, warum Suchmaschinen existieren und wie Sie sie nutzen können, um Geld zu verdienen. Suchmaschinen liefern Relevanz. Relevanz bedeutet, dass Besucher auf Suchergebnisse klicken und zufrieden sind mit ...

Was sind Tür- und Informationsseiten? - dummies

Was sind Tür- und Informationsseiten? - dummies

Eine Doorway-Seite wird nur als Zugang von einer Suchmaschine zu Ihrer Website erstellt. Doorway-Seiten werden manchmal als Gateway-Seiten und Geisterseiten bezeichnet. Die Idee besteht darin, hoch optimierte Seiten zu erstellen, die von Suchmaschinen aufgenommen und indiziert werden und die mit etwas Glück gut ranken und somit den Traffic auf eine ...

Was ist eine Weiterleitung bei der Suchmaschinenoptimierung? - Dummies

Was ist eine Weiterleitung bei der Suchmaschinenoptimierung? - Dummies

Eine Weiterleitung ist das automatische Laden einer Seite ohne Benutzereingriff. Sie klicken auf einen Link, um eine Webseite in Ihren Browser zu laden, und innerhalb von Sekunden verschwindet die geladene Seite, und eine neue wird angezeigt. Designer erstellen häufig Seiten für Suchmaschinen - optimierte, schlüsselwortreiche Seiten -, die Besucher auf die ...

Die Wahl des Herausgebers

Behandeln Probleme mit dem Kundenservice über Social Media - Dummies

Behandeln Probleme mit dem Kundenservice über Social Media - Dummies

, Wenn Kunden wissen, dass sie direkt mit ein Geschäft in den sozialen Medien, können sie aus einer beliebigen Anzahl von Gründen mit ihnen in Verbindung treten. Aber sobald sie merken, dass ein Problem mit dem Kundenservice oder einer Produktfrage über einen einzigen Tweet oder Beitrag angesprochen werden kann, ist es wahrscheinlicher, dass sie mit dem Unternehmen Geschäfte machen.

Acht Möglichkeiten, Social Media Feedback zu erhalten - Dummies

Acht Möglichkeiten, Social Media Feedback zu erhalten - Dummies

Die heutige Technologie verändert die Art und Weise, wie wir Geschäfte machen blitzschnell. Auch der Social-Media-Handel bewegt sich blitzschnell, aber durch die Beobachtung von Erwähnungen und Fragen an die Community können Sie einen Eindruck davon bekommen, wie Ihr Markt über bevorstehende Veränderungen denkt. Auch andere Posts können Ihnen helfen, kritisches Feedback aus der Öffentlichkeit zusammenzustellen ...

Manage Social Media Commerce mit HootSuite - dummies

Manage Social Media Commerce mit HootSuite - dummies

HootSuite ist ein Social Media Management System zur Umsetzung von Outreach und Überwachung in sozialen Netzwerken über ein einziges webbasiertes Dashboard. Für Unternehmen wird HootSuite am häufigsten von Social-Media-Teams mit mehreren Agenten verwendet, aber auch viele Einzelanwender mögen es. Wenn Sie auf der Suche nach einer robusten Plattform sind, die alles an einem Ort hält, ...

Die Wahl des Herausgebers

Die 5 Kornsterne der Mittelmeer - Dummies

Die 5 Kornsterne der Mittelmeer - Dummies

Die Mittelmeerdiät ist in der Praxis des Habens begründet ein Vollkorn zu jeder Mahlzeit. Und nein, das bedeutet nicht, eine ganze Platte Vollkornspaghetti mit Fleischsauce zum Abendessen zu essen. Stattdessen machen die Menschen im Mittelmeerraum ihr Getreide zur Beilage oder schaffen durch die Zugabe von magerem Eiweiß mehr Gleichgewicht ...

Strebe nach Gesundheit mit 7 bis 10 Portionen Obst und Gemüse - Schnuller

Strebe nach Gesundheit mit 7 bis 10 Portionen Obst und Gemüse - Schnuller

Der Verzehr von sieben bis zehn Portionen Obst und Gemüse pro Tag, wie sie für die mediterrane Ernährung empfohlen werden, mag sehr viel erscheinen, aber es muss keine so große Herausforderung sein. Wenn Sie nicht die Früchte und das Gemüse lieben, die spezifisch mit der Mittelmeerdiät verbunden sind, ist das okay! Essen Sie jede Art von Obst oder Gemüse, die Sie ...

Die gesundheitlichen Vorteile von mediterranen Kräutern und Gewürzen - Dummies

Die gesundheitlichen Vorteile von mediterranen Kräutern und Gewürzen - Dummies

Sie haben vielleicht gedacht, dass der Oregano und Basilikum in Ihrer Spaghetti-Sauce lieferte nur einen deutlichen italienischen oder mediterranen Geschmack, aber diese kleinen Kräuter sind Pflanzen, was bedeutet, dass sie alle Arten von gesundheitlichen Vorteilen haben, die einen großen Einfluss auf Ihre allgemeine Gesundheit haben können. Einfache Gewürze wie Ingwer und Oregano enthalten Phytochemikalien, ...