XML-Parser

Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Neue Antwort erstellen

MVB

Betreff: XML-Parser

BeitragMi, Okt 05, 2005 15:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi.
Ich habe ein kleines XML-Modul programmiert. Damit kann man XML-Dateien lesen und schreiben.

Zum Installieren einfach einen neuen Ordner "xmlparser.mod" unter "C:/Programme/Blitzmax/mod/mvb.mod"(oder wo auch immer ihr Blitzmax installiert habt) erstellen. Untenstehenden Quelltext als "xmlparser.bmx" in diesen Ordner abspeichern. Blitzmax IDE starten und Alt+D drücken.(MinGW muss installiert sein)

Es sind keine extras, wie xslt o. ä. enthalten. Auch richtet sich der Parser nicht streng nach den Regeln der w3c. Aber um einfach XML-Dateien zu parsen reicht es.

Etwas einfacher zu verstehen ist das mit den Beispielcodes.
Beispielcodes gibt es hier (xml-samples-1.2). (Weitere Beispiele folgen)

Vielleicht kann es ja jemand gebrauchen.

Download

Wink
aquamonit.de|BlitzMax|MaxGUI
  • Zuletzt bearbeitet von MVB am Mi, Feb 15, 2006 20:32, insgesamt 20-mal bearbeitet

bruZard

BeitragMi, Okt 05, 2005 15:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Schöne Sache das ... werde es bei Gelegenheit mal antesten.
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

bruZard

BeitragMi, Okt 05, 2005 17:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Funkt supi ... habe ich spontan verwendet um GUI Skins für Timemill zu erstellen Very Happy
PIV 2,4GHz - 1GB DDR 333 - ATI Radeon9600 - WinXP - DX9.0c - BMax 1.14 - B3D 1.91 - 1280x1024x32

User posted image

MVB

BeitragMi, Okt 05, 2005 17:22
Antworten mit Zitat
Benutzer-Profile anzeigen
OK. Danke!
Ich schreibe zurzeit ein paar vernünftige Beispiele.
Es könnte aber sein, dass eventuell noch der ein oder andere Bug vorhanden ist. Smile

EDIT: Schonmal 3 kleine Beispiele: xml-examples-0.1 (weitere folgen in kürze) Wink
EDIT2: Hab grad einen kleinen Bug gefunden und behoben. Hab den Code im ersten Post editiert. Wink
EDIT3: Noch ein Bug entfernt!
EDIT4 Razz : So. Jetzt sind es 6 Beispiele: xml-samples-1.1
aquamonit.de|BlitzMax|MaxGUI

hamZta

Administrator

BeitragSo, Okt 23, 2005 12:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab ich so spontan in deinem Code gefunden:
Code: [AUSKLAPPEN]

      While Instr(xml,"  ")
         xml=Replace(xml,"  "," ") 'Doppelte Leerzeichen entfernen
      Wend


Wenn du alle doppelten Leerzeichen entfernst, werden dann nicht auch die der Attribute entfernt?

Code: [AUSKLAPPEN]
<a attr="Test  bla"/>


Macht dein Parser aus dem Attribute attr dann "Test bla"?
Blog.

MVB

BeitragSo, Okt 23, 2005 15:46
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja. Du hast recht. Ich bin mir jetzt nicht ganz sicher, aber ich meine irgendwo gesehen zu haben, dass das so richtig ist. Question
aquamonit.de|BlitzMax|MaxGUI

MVB

BeitragSo, Nov 13, 2005 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab nochmal ein bisschen dran weitergearbeitet. Hier mal ein einfaches kleines Beispiel:
-file1.xml----------
Code: [AUSKLAPPEN]
<players>
   <player>
      <name>Michael</name>
      <geld>120 EUR</geld>
   </player>
   <player>
      <name>Christian</name>
      <geld>30 EUR</geld>
   </player>
   <player>
      <name>Thomas</name>
      <geld>360 EUR</geld>
   </player>
</players>

Code: [AUSKLAPPEN]
Import MVB.xmlparser

Local xml:XMLFile

xml=New XMLFile

'Wir öffnen die Datei.
xml.Open("file1.xml")

'Jetzt geben wir nacheinander die Eigenschaften aus.
Print "Name:"
Print xml.ReadNodeText("players/player/name")
Print "Geld:"
Print xml.ReadNodeText("players/player/geld")
Print "---------------"

Print "Name:"
Print xml.ReadNodeText("players/player[2]/name")
Print "Geld:"
Print xml.ReadNodeText("players/player[2]/geld")
Print "---------------"

Print "Name:"
Print xml.ReadNodeText("players/player[3]/name")
Print "Geld:"
Print xml.ReadNodeText("players/player[3]/geld")

xml=Null

Unter anderem ist jetzt eine Hilfe mit drin. Die könnt ihr dann mit bbdoc oder hotdocs angucken. Wink

EDIT: Beispiele upgedatet! http://aquamonit.de/Dateien/xml-samples-1.2.zip Wink
aquamonit.de|BlitzMax|MaxGUI

Wild-Storm

BeitragMo, Apr 02, 2007 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
404 Sad
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875
 

#Reaper

Newsposter

BeitragMo, Apr 02, 2007 19:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Im OBF (offizielles BlitzForum^^ (bin faul, ich gebs zu Razz)) gabs auch so ein Modul, aber weiß nicht, ob das auch nur von ihm war.. Wink Embarassed
AMD Athlon 64 3500+, ATI AX800 Pro/TD, 2048 MB DRR 400 von Infineon, ♥RIP♥ (2005 - Juli 2015 -> sic!)
Blitz3D, BlitzMax, MaxGUI, Monkey X; Win7
 

Dreamora

BeitragMo, Apr 02, 2007 19:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Das Modul dürfte MaXML und MaXML2 sein Smile
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.

d-bug

BeitragMo, Apr 02, 2007 20:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnte aber auch bruceys XML Modul sein : bah.libxml !

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Codearchiv & Module

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group