XML in PB verwenden
XML in PB verwenden
Gibt es ein XML Tutorial oder sowas, weil cih keine Plan habe, wie man XML verwendet.
Ich möchte auf enem Server eine XML Datei speichern, die Daten enthält. Mein Programm soll eine neue XML Datei mit neuen Daten erstellen und hochladen können. Und vorhandene Daten lesen können, um sie in ein Gadget einzugüfen.
Ich möchte auf enem Server eine XML Datei speichern, die Daten enthält. Mein Programm soll eine neue XML Datei mit neuen Daten erstellen und hochladen können. Und vorhandene Daten lesen können, um sie in ein Gadget einzugüfen.
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Zwar kenne ich mich damit auch nicht aus, aber vielleicht hier
eine deutsche komplette Beschreibung zum XML, die weiter helfen könnte.
http://www.drweb.de/magazin/xml-worksho ... anfang-an/
Gruß, Falko
eine deutsche komplette Beschreibung zum XML, die weiter helfen könnte.
http://www.drweb.de/magazin/xml-worksho ... anfang-an/
Gruß, Falko
als erstes benötigst Du ein XML-Objektkiki hat geschrieben:Ok, und wie verwende ich das in PB?
-> CreateXML()
danach hängst Du nacheinander die entsprechenden Nodes in das XML
-> CreateXMLNode()
-> SetXMLNodeName()
-> SetXMLNodeText()
die Nodes können auch mit Attributen versehen werden
-> SetXMLAttribute()
Das ganze kannst Du dann auch lokal abspeichern:
-> SaveXML()
und nicht vergessen nach der Benutzung des XML das Objekt wieder freizugeben:
-> FreeXML()
Das wars auch schon. Alles weitere kannst Du in der PB-Hilfe nachschauen

Wenn es konkrete Probleme geben sollte: Einfach nachfragen.
Grüße ... Kiffi
a²+b²=mc²
Meinst du so:
Ich kann leider weder "Hallo" noch "Test" in der gespeicherten Datei nachlesen.
Code: Alles auswählen
DeleteFile("c:\test.txt")
CreateXML(0, #PB_UTF8)
*Eltern = AllocateMemory(1000)
*Erg = CreateXMLNode(*Eltern, *Neu, #PB_XML_Normal)
SetXMLNodeName(*Erg, "Test")
SetXMLNodeText(*Erg, "Hallo")
SaveXML(0, "C:\test.txt", 0)
FreeXML(0)
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Vielleicht so?
Code: Alles auswählen
DeleteFile("test.txt")
CreateXML(0)
*Eltern= RootXMLNode(0)
;*Eltern = AllocateMemory(1000)
*Erg = CreateXMLNode(*Eltern, *Neu)
SetXMLNodeName(*Erg, "Test")
SetXMLNodeText(*Erg, "Hallo")
SaveXML(0, "test.txt")
FreeXML(0)
ich persönlich lasse dieses (in diesem Fall überflüssige) Pointersternchen
gerne weg. Des weiteren braucht's bei CreateXMLNode() in dem
Beispielcode keinen Previousnode. Die Datei muss auch nicht vorher
gelöscht werden, weil SaveXML sie eh überschreibt.
(ein Deluxe-Beispiel würde jetzt auch noch die Rückgabewerte der
einzelnen Befehle auswerten und entsprechend darauf reagieren, aber
dazu habe ich jetzt keinen Bock
)
Grüße ... Kiffi
gerne weg. Des weiteren braucht's bei CreateXMLNode() in dem
Beispielcode keinen Previousnode. Die Datei muss auch nicht vorher
gelöscht werden, weil SaveXML sie eh überschreibt.
Code: Alles auswählen
CreateXML(0)
RootNode = RootXMLNode(0)
NeuerNode = CreateXMLNode(RootNode)
SetXMLNodeName(NeuerNode, "Test")
SetXMLNodeText(NeuerNode, "Hallo")
SaveXML(0, "d:\kiki.xml")
FreeXML(0)
einzelnen Befehle auswerten und entsprechend darauf reagieren, aber
dazu habe ich jetzt keinen Bock

Grüße ... Kiffi
a²+b²=mc²
Wie füge ich einen neuen Knoten Namen, mit einem neuen Knoten Text ein, bei mir klappt, das irgentwie nicht:
Code: Alles auswählen
CreateXML(0)
RootNode = RootXMLNode(0)
NeuerNode = CreateXMLNode(RootNode)
SetXMLNodeName(NeuerNode, "Test")
SetXMLNodeText(NeuerNode, "Hallo")
SetXMLNodeName(NeuerNode, "Test")
SetXMLNodeText(NeuerNode, "Hallo")
SaveXML(0, "c:\kiki.xml")
FreeXML(0)
- Falko
- Admin
- Beiträge: 3535
- Registriert: 29.08.2004 11:27
- Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit) - Kontaktdaten:
Z.B. so?
Code: Alles auswählen
CreateXML(0)
RootNode = RootXMLNode(0)
NeuerNode = CreateXMLNode(RootNode)
SetXMLNodeName(NeuerNode, "Test")
SetXMLNodeText(NeuerNode, "Hallo")
NeuerNode = CreateXMLNode(NeuerNode)
SetXMLNodeName(NeuerNode, "Test")
SetXMLNodeText(NeuerNode, "Hallo")
SaveXML(0, "c:\kiki.xml")
FreeXML(0)