Seite 1 von 3

Problem bei ermitteln von XML Childs

Verfasst: 09.02.2008 11:45
von Scarabol
Hi Leute,

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

Kann ich damit HTML Dokumente bearbeiten?

Gruß
Scarabol

Re: XML & HTML ???

Verfasst: 09.02.2008 12:02
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

Verfasst: 09.02.2008 12:17
von Scarabol
Verstehen wozu man XML braucht ;-)

Gruß
Scarabol

Verfasst: 09.02.2008 12:26
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

Verfasst: 09.02.2008 13:59
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

Verfasst: 09.02.2008 14:02
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

Verfasst: 09.02.2008 14:06
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

Verfasst: 09.02.2008 16:37
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

Verfasst: 09.02.2008 16:45
von milan1612
@Kiffi
Super anschaulich, langsam versteh selbst ich PB's XML Lib :lol:
Danke...

Verfasst: 09.02.2008 18:08
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.