tag-soup

___ answer24534689 ___

Basierend auf der Antwort von rekire habe ich diese etwas robustere Lösung entwickelt, die mit jedem Tag umgehen kann.

%Vor%

Und in handleTag tun:

%Vor%

Und dann sind die Attribute wie folgt zugänglich:

attributes.get ("Mein Attributname");

    
___ answer36528149 ___

Es ist möglich, %code% von %code% zu verwenden und Zugriff auf Tag-Attributwerte ohne Reflektion zu erhalten, aber diese Methode ist noch einfacher als die Reflektion. Der Trick besteht darin, %code% used von %code% durch ein benutzerdefiniertes Objekt zu ersetzen. Das Ersetzen von %code% kann nur im Aufruf von %code% erfolgen. Das stellt ein Problem beim Abrufen von Attributwerten für das erste Tag dar, das durch Hinzufügen eines benutzerdefinierten Tags am Anfang von html behoben werden kann.

%Vor%

Mit dieser Klasse ist das Lesen von Attributen einfach:

%Vor%

Dieser Ansatz hat den Vorteil, dass er die Verarbeitung einiger Tags unter Verwendung der Standardverarbeitung für andere, z. Sie können sicherstellen, dass %code% Objekte nicht erstellt werden:

%Vor%     
___ qstntxt ___

Ich habe HTML, das ich mit %code% in ein %code% konvertiere, und ich habe ein benutzerdefiniertes Tag, das ich darin verwende:

%Vor%

Also habe ich ein %code% implementiert, um dieses benutzerdefinierte Tag zu behandeln, so:

%Vor%

In diesem Fall bekomme ich eine SAX-Ausnahme, da ich glaube, dass das "id" -Feld eigentlich ein Attribut und keine Eigenschaft ist. Es gibt jedoch keine Methode %code% für %code% . Also meine Frage ist, wie bekomme ich den Wert des Feldes "ID" mit dieser %code% ? Danke.

    
___ tag123java ___ Java (nicht zu verwechseln mit JavaScript oder JScript oder JS) ist eine universelle objektorientierte Programmiersprache, die für die Verwendung in Verbindung mit der Java Virtual Machine (JVM) entwickelt wurde. "Java-Plattform" ist der Name für ein Computersystem, auf dem Tools zum Entwickeln und Ausführen von Java-Programmen installiert sind. Verwenden Sie dieses Tag für Fragen, die sich auf die Java-Programmiersprache oder Java-Plattform-Tools beziehen. ___ answer38668369 ___

Es gibt eine Alternative zu den anderen Lösungen, die es nicht erlaubt, benutzerdefinierte Tags zu verwenden, sondern den gleichen Effekt:

%Vor%

Dann lies es so:

%Vor%

Je nachdem, was Sie mit Ihren benutzerdefinierten Tags tun möchten, können Ihnen die obigen Informationen helfen. Wenn Sie sie nur lesen möchten, brauchen Sie kein %code% , sondern nur %code% auf %code% interface, um dies zu untersuchen.

Beachten Sie, dass %code% , das %code% repräsentiert, seit der API-Stufe 1 ein eingebautes Android ist! Es ist wieder einer dieser versteckten Edelsteine. Das Attribut hat die Einschränkung eines Attributs pro %code% -Tag, aber nichts hindert Sie daran, mehrere Anmerkungen zu verschachteln, um mehrere Attribute zu erhalten:

%Vor%

Wenn Sie die Schnittstelle %code% anstelle von %code% verwenden, können Sie auch den Inhalt jeder Anmerkung ändern. Zum Beispiel den obigen Code ändern:

%Vor%

wird so aussehen, als ob Sie dies in der XML-Datei hatten:

%Vor%

Wenn Sie Änderungen vornehmen, die sich auf die Länge des Textes auswirken, müssen Sie darauf achten, dass sich die Abschnitte verschieben. Stellen Sie sicher, dass Sie die span start / end-Indizes zu den richtigen Zeiten lesen, am besten, wenn Sie sie in die Methodenaufrufe einbinden.

Mit

%code% können Sie auch eine einfache Suche durchführen und die Substitution ersetzen:

%Vor%     
___ answer24530071 ___

Wenn Sie nur ein Attribut benötigen, ist der Vorschlag von vorrtex eigentlich ziemlich solide. Um Ihnen ein Beispiel zu geben, wie einfach es zu handhaben wäre, schauen Sie hier nach:

%Vor%

Und in Ihrem benutzerdefinierten TagHandler verwenden Sie nicht gleich, sondern indexOf

%Vor%

Und Sie können dann den Postfix-Wert in Ihrem OnClick-View-Parameter als Tag übergeben, um ihn generisch zu halten.

    
___ tag123android ___ Android ist das mobile Betriebssystem von Google, das zum Programmieren oder Entwickeln von digitalen Geräten (Smartphones, Tablets, Automobile, Fernseher, Wear, Glass, IoT) verwendet wird. Verwenden Sie für Themen rund um Android Android-spezifische Tags wie android-intent, nicht intent, android-activity, nicht activity, android-adapter, nicht adapter usw. Bei anderen Fragen als der Entwicklung oder Programmierung, aber im Zusammenhang mit Android Framework, verwenden Sie Der Link: https://android.stackexchange.com. ___ tag123xmlreader ___ xmlreader - Stellt ein Lesegerät dar, das schnellen, nicht zwischengespeicherten Zugriff auf XML-Daten nach vorne ermöglicht. ___ tag123tagsup ___ TagSoup ist ein SAX-kompatibler Parser, der in Java geschrieben ist und HTML so analysiert, wie er in der freien Wildbahn gefunden wird. ___ qstnhdr ___ Wie bekomme ich ein Attribut von einem XMLReader? ___ answer15196299 ___

Hier ist mein Code, um die privaten Attribute von %code% durch Reflektion zu erhalten:

%Vor%

Hinweis: Sie könnten die Werte in eine Map einfügen, aber für meine Verwendung ist das zu viel Aufwand.

    
___
5
Antworten

Wie bekomme ich ein Attribut von einem XMLReader?

Ich habe HTML, das ich mit Spanned in ein Html.fromHtml(...) konvertiere, und ich habe ein benutzerdefiniertes Tag, das ich darin verwende: %Vor% Also habe ich ein TagHandler implementiert, um dieses benutzerdefinierte Tag zu behand...
05.08.2011, 06:22