Neuer XML Parser!!!

TheCreeper202

Bekanntes Mitglied
hallo
ich hab heut mir mal 2-3 stündchen zeit genommen und einen xml parser geschriben
download und tutorials hier
es ist ähnlich wie jdom es kann xml zu einem dom baum parsen und diesn auch schreiben (mir tabs, zeilenumbruch, etc)
ich hoffe er gefällt euch hat zwar nich soooo viele funktionen aber bin ja erst 12
ich wäre very very very happy wenn christian ullenboom noch was über diesen parser in eine 2. auflage von java 7 mehr als eine insel schreibt
 
B

Beni

Gast
Habe nur die API ein bisschen überflogen. Was mir aufgefallen ist: du verwendest eine Map um die Kinder eines Elementes darzustellen. Aber in einem xml-File ist es durchaus erlaubt, dass mehrere Kinder denselben Namen haben. Und die Reihenfolge wie die Elemente im File stehen, solltest du auch nicht durcheinander bringen (eine Map merkt sich normalerweise nicht, in welcher Reihenfolge sie befüllt wird).
 

TheCreeper202

Bekanntes Mitglied
@Noctarius kommt noch
@Beni
1. ich hab Map<String, List<Element>> genauer lesen
2. für die sortierung... mh.. mal gucken was ich mache eventuell eigene map proggen
 
Zuletzt bearbeitet:

miasma

Aktives Mitglied
Irgendwo hab ich mal gelesen, dass Josh Bloch seine LinkedHashMap als eine seiner wichtigsten Implementierungen ansieht, oder besonders stolz darauf ist ;-) Bzgl. dessen, dass Maps im Normalfall ja nicht sortiert sind. Wenn es nicht die insertion order ist, bzw. auf einem Comparator basiert braucht man wohl eine Baumstrukture mit Knoten<K, V> wie etwa TreeMap. In dem Fall dürfte aber LinkedHashMap für einen preorder Durchlauf passen.
 

Marco13

Top Contributor
LinkedHashMap wäre da ggf. das richtige. Aber sonst... Viel indexOf und replaceAll.... es war schon fast zu erwarten, dass es ihn bei
[XML]<test>Contents <!--No comment--> of test </test>[/XML]
raushaut, komplexere Sachen hab' ich jetzt mal noch nicht ausprobiert (hab' auch keine Ahnung davon)
 

Marco13

Top Contributor
Wie angedeutet: Mit indexOf, replaceAll & Co wirst du noch deinen Spaß haben. Mögliche nächste Tests:
[XML]<test>"Contents <!--\"No comment\"--> of test"</test>[/XML]
[XML]<test>"Contents <!--\"No comment\"-- of test"</test>[/XML]
[XML]<test>"Contents <!--No comment\"-- of test"</test>[/XML]
....
 
M

Marcinek

Gast
Welche Vorteile bietet mir dieser Parser, der in wenigen Stunden geschrieben wurde, zu einem Jahrelang von Profis entwickelten?

Und warum sollte man über ein Projekt von mehreren Stunden, in einem Buch schreiben?

Ich finde es ja toll, als eine Art Freizeitprojekt um zu sehen, welche Hürden auf einen zukommen, wenn man sich damit beschäftigt. - Aber dann würde ich ja eher Wert auf den Quellcode legen, als über irgentwelche mini Funktionalitäten für Textdateien, die zufällig so aussehen wie eine XML Datei..

Lade bitte deinen Quellcode hoch, damit wir den Bewerten können.
 

KSG9|sebastian

Top Contributor
XML-Parser...

Wir hätten da:

(J)DOM - DOM-basierter Zugriff, sehr schöne API um auf XML zuzugreifen, halt nicht geeignet für große XML-Bäume
SAX - Event-basiert, nicht so "schöner" Zugriff, dafür auch mit Gigabyte von XMLs möglich
STAX - guter Mittelweg, Cursor-basiertes navigieren durch XML u.s.w.

Wir haben mal eine Analyse gefahren (für SEPA, Gigabyteweise XML-Dateien..) welcher Parser für welche Größe taugt...und da frage ich mich halt: Was kann dieser Parser hier besser als die drei oben genannten?
 
G

Gast2

Gast
Und deine Seite hat kein richtiges Impressum. Unter Impressum wird nur auf das Webbuilder Framework hingewiesen.
 

TheCreeper202

Bekanntes Mitglied
UPDATE IST RAUS
- Kommentare
- LinkedHashMap's
- Die Sources sind hochgeladen und auf dev-xgamespro.jimdo.com verlinkt (wenn du keinen bock hast das "Hier" zu finden klick hier)
 

Marco13

Top Contributor
Hatte ja schon einiges gesagt (das soll ja auch alles nicht zuuu demotivierend klingen) aber... Bei sowas wie
if (ds.matches("standalone=\"(.*?)\"")) {
würde er sich schon mit einem
[XML]standalone = true[/XML]
verschlucken
 

TheCreeper202

Bekanntes Mitglied
oh das muss noch geändert werden für is egal wie viele leers kann man [\\p{Blank}]* nehmen

EDIT:
so jetzt hab ichs geändert
 
Zuletzt bearbeitet:

Marco13

Top Contributor
so jetzt hab ichs geändert

Wie schon angedeutet wurde solltest du dir nicht einreden, dass das in absehbarer Zeit ein Parser wird, der "alles, was gültiges XML ist" versteht, oder er in irgendeiner anderen, formal-kühl-technischen Sicht "gut" wird (RegEx ist BTW auch nicht das schnellste...), und das mit der Java Insel wird wohl auch nichts, aber ... als ich 12 war, habe ich mich gefreut, als
Code:
10 PRINT "64 * 46"
20 PRINT "ergibt"
30 PRINT 64*64
in der letzten Zeile wirklich 4096 ausgegeben hat :D
(Wir brauchen unbedingt BASIC-Code-Tags!!! :reflect: )
 

Bernd Hohmann

Top Contributor
@TO: Im Prinzip hast Du recht wenn Du einen neuen, eigenen XML-Parser schreiben willst denn was auf dem Markt an Parsern existiert ist überwiegend Schrott. Und diese Parser sind Schrott, weil XML für die real existierende Datenverarbeitung Schrott ist weil die Specs von gelangweilten Leuten geschrieben wurden die sich keine Gedanken darüber gemacht haben wie Datenverarbeitung "im wirklichen Leben" läuft.

Dein Problem ist, dass XML niemals perfekt verarbeitet werden kann (entweder ist das File zu gross oder zu schmutzig oder der Server für das DTD antwortet nicht).

Ich habe mittlerweile alle Vorkommnisse von XML wieder erfolgreich auf CSV reduziert und die Gegenseite(n) haben es mir gedankt.

Bernd
 

TheCreeper202

Bekanntes Mitglied
Code:
 CIP    	STARTFILE    Yn`rr>@P†}￾rq;￾…￾Yn`rr>@P†}￾rq ENDFILE
@Noctarius kannst du das entschlüsseln?
 
Zuletzt bearbeitet:

Noctarius

Top Contributor
Jetzt sag mir bitte nicht dein "Pack"-Format speichert Plaintext? Oo Wenn nicht, dann gib mir das Ding als File, ich will da mit nem Hexeditor ran.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
pkm Gibt es XML-Parser-Bibliotheken XML & JSON 3
B XML-Daten mit SAX Parser verarbeiten in Java XML & JSON 4
MiMa SAX-Parser beenden? XML & JSON 5
K GSON-Parser XML & JSON 6
K XML-Parser vs. XLST XML & JSON 4
L DOM Parser Implementieren XML & JSON 9
M SAX Parser implementieren XML & JSON 2
E Gibt es denn einen XML-Parser für JUnit-Tests? XML & JSON 6
D XSD Parser XML & JSON 1
J XML Parser anhand xsd erzeugen XML & JSON 2
H SAX Parser optimieren XML & JSON 5
H Sax Parser verschluckt teile XML & JSON 11
C XML SAX Parser XML & JSON 10
R Handler-Wechsel, SAX Parser bricht nach 8192 Byte ab XML & JSON 5
B SAX-Parser - Dokumente einlesen und in einer Map ablegen XML & JSON 2
S Sax Parser Performance XML & JSON 2
M Eigener XML-Parser XML & JSON 1
S Typsicherer HTML-Parser XML & JSON 5
S HTML Parser XML & JSON 2
B Parser und Fabrik XML & JSON 6
F SAX Parser siehe nichts auf dem Konsole weder eine Fehlermeldung noch eine Ergebnis XML & JSON 6
enne87 SAX-Parser XML & JSON 5
C Mit SAX Parser XML Attribute auswerten XML & JSON 3
H XML-Parser: geparste Strings in Konstruktor? XML & JSON 9
S DOM Parser XML & JSON 12
S Sax Parser XML & JSON 3
D Speicherüberlauf bei character-Methode mit SAX-Parser XML & JSON 3
Y Welchen XML Parser / Klassen aus XSD generieren lassen XML & JSON 4
H Brauche ich einen speziellen XML-Parser? XML & JSON 2
M Unhierarchisches XML-File mit DOM-Parser auswerten XML & JSON 5
G XML Parser Fehler, zwei gleiche kind-Elemente XML & JSON 7
S Welcher XML-Parser am besten? XML & JSON 4
S Parser XML & JSON 2
S JAVA XML Parser der einen String parst XML & JSON 3
Noar XML-Parser mit GUI? XML & JSON 2
R Problem mit SAX-Parser characters() XML & JSON 7
K SAX Parser Character Puffer zu klein XML & JSON 2
B Mit Sax-Parser validieren XML & JSON 7
Wildcard xpath Parser XML & JSON 8

Ähnliche Java Themen

Neue Themen


Oben