Problem bei ermitteln von XML Childs

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Problem bei ermitteln von XML Childs

Beitrag von Scarabol »

Hi Leute,

was kann man eigentlich mit der neuen XML Lib alles machen?

Kann ich damit HTML Dokumente bearbeiten?

Gruß
Scarabol
Zuletzt geändert von Scarabol am 25.02.2008 17:56, insgesamt 1-mal geändert.
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: XML & HTML ???

Beitrag von Kiffi »

Scarabol hat geschrieben:was kann man eigentlich mit der neuen XML Lib alles machen?
'ne ganze Menge. :-)
Scarabol hat geschrieben:Kann ich damit HTML Dokumente bearbeiten?
das eher nicht. ;-)

Was hast Du denn genau vor?

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Verstehen wozu man XML braucht ;-)

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Scarabol hat geschrieben:Verstehen wozu man XML braucht ;-)
ganz platt gesagt: XML kann man verwenden, um Daten in einer
strukturierten Form (ähnlich einer beliebigen Datenbank) zu speichern.

Guckstu vielleicht auch noch hier:
http://www.purebasic.fr/german/viewtopi ... 4662#84662

Etwas ausführlicher:
http://de.wikipedia.org/wiki/Extensible_Markup_Language

;-)

Wenn Du was spezielles mit der XML-Lib vorhast, dann frag einfach. Vielleicht
kann ich Dir dann sagen, ob sich XML dafür eignet oder nicht.

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Ich dachte ich könnte XML dazu verwenden, in HTML Art gespeicherte Dateien zu erstellen und zu bearbeiten...

Wie z.B: HTML ;-), oder Ogre-XML ect.

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Scarabol hat geschrieben:Ich dachte ich könnte XML dazu verwenden, in HTML Art gespeicherte Dateien zu erstellen und zu bearbeiten...
ich habs zwar noch immer nicht kapiert, aber vielleicht hilft folgendes:

http://de.wikipedia.org/wiki/Extensible ... p_Language

und

http://de.selfhtml.org/html/xhtml/unterschiede.htm

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
Scarabol
Beiträge: 1427
Registriert: 30.11.2005 21:00

Beitrag von Scarabol »

Jo also ich hab in der Ogre XML Datei folgendes stehen:

Code: Alles auswählen

<mesh>
	<submeshes>
		<submesh material="Material" usesharedvertices="false">
			<faces count="164">
				<face v1="0" v2="1" v3="3"/>
				<face v1="1" v2="2" v3="3"/>
				<face v1="4" v2="5" v3="7"/>
				<face v1="5" v2="6" v3="7"/>
				<face v1="8" v2="9" v3="11"/>
				<face v1="9" v2="10" v3="11"/>
				<face v1="12" v2="13" v3="15"/>
				<face v1="13" v2="14" v3="15"/>
				<face v1="16" v2="17" v3="19"/>
				<face v1="17" v2="18" v3="19"/>
				<face v1="20" v2="21" v3="23"/>
				<face v1="21" v2="22" v3="23"/>
				<face v1="24" v2="25" v3="27"/>
				<face v1="25" v2="26" v3="27"/>
				<face v1="28" v2="29" v3="30"/>
				<face v1="28" v2="30" v3="31"/>
				<face v1="32" v2="33" v3="34"/>
				<face v1="32" v2="34" v3="35"/>
				<face v1="36" v2="37" v3="39"/>
				<face v1="37" v2="38" v3="39"/>
				<face v1="40" v2="41" v3="42"/>
....
Kann ich sowas mit XML in ein Array face() laden?

Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea

PB-V: 4
WinXP
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Beitrag von Kiffi »

Scarabol hat geschrieben:Kann ich sowas mit XML in ein Array face() laden?
yepp, kannste:

Code: Alles auswählen

Structure s_Face
  v1.l
  v2.l
  v3.l
EndStructure

oXML = LoadXML(#PB_Any, "D:\Ogre.xml")

If oXML
  
  ; Anzahl 'faces' ermitteln
  oNode = XMLNodeFromPath(RootXMLNode(oXML), "mesh/submeshes/submesh/faces")
  If oNode
    If ExamineXMLAttributes(oNode)
      While NextXMLAttribute(oNode)
        If XMLAttributeName(oNode) = "count"
          FacesCount = Val(XMLAttributeValue(oNode))
          Break
        EndIf
      Wend
    EndIf
  EndIf

  Debug "Anzahl Faces: " + Str(FacesCount)
  
    Dim Face.s_Face(FacesCount)
    
    For FaceCounter = 0 To FacesCount
      oNode = XMLNodeFromPath(RootXMLNode(oXML), "mesh/submeshes/submesh/faces/face[" + Str(FaceCounter) + "]")
      If oNode
        If ExamineXMLAttributes(oNode)
          While NextXMLAttribute(oNode)
            Select XMLAttributeName(oNode)
              Case "v1" : Face(FaceCounter)\v1 = Val(XMLAttributeValue(oNode))
              Case "v2" : Face(FaceCounter)\v2 = Val(XMLAttributeValue(oNode))
              Case "v3" : Face(FaceCounter)\v3 = Val(XMLAttributeValue(oNode))
            EndSelect
          Wend
        EndIf
      EndIf
    Next
    
  FreeXML(oXML)
  
EndIf
(muss evtl. noch angepasst werden (je nachdem, ob die Anzahl Faces nullbasiert sind))

Grüße ... Kiffi
a²+b²=mc²
Benutzeravatar
milan1612
Beiträge: 810
Registriert: 15.04.2007 17:58

Beitrag von milan1612 »

@Kiffi
Super anschaulich, langsam versteh selbst ich PB's XML Lib :lol:
Danke...
Bin nur noch sehr selten hier, bitte nur noch per PN kontaktieren
Benutzeravatar
STARGÅTE
Kommando SG1
Beiträge: 7031
Registriert: 01.11.2005 13:34
Wohnort: Glienicke
Kontaktdaten:

Beitrag von STARGÅTE »

mich stört nur das hier:
Wichtig: Die expat Lizenz erfordert, dass eine Copyright-Notiz und der Lizenz-Text selbst in jede Software integriert werden, welche den Parser beinhalten. Wenn also die Bibliothek (oder der API-Import) in einer Software verwendet werden, welche öffentlich zugänglich gemacht wird, dann MUSS die oben verlinkte Lizenz in die Software integriert werden.
PB 6.01 ― Win 10, 21H2 ― Ryzen 9 3900X, 32 GB ― NVIDIA GeForce RTX 3080 ― Vivaldi 6.0 ― www.unionbytes.de
Aktuelles Projekt: Lizard - Skriptsprache für symbolische Berechnungen und mehr
Antworten