XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Offtopic (http://xhtmlforum.de/forumdisplay.php?f=75)
-   -   XML Struktur nach Upload überprüfen (http://xhtmlforum.de/showthread.php?t=57736)

sucka 16.07.2009 17:08

XML Struktur nach Upload überprüfen
 
Hallo :)

Ich wusste nicht in welchen Thread ich das packen soll, deswegen einfach mal hier.

Ich suche schon sehr lange nach einer geeigneten Möglichkeit, ein, von einem Benutzer hochgeladenes, XML Dokument mittels PHP zu überprüfen. Die XML Dateien haben immer dieselbe Form und Länge, die Tags den selben Inhalt und es dürfen nur Zahlenwerte sein.

Momentan mache ich das mit einer riesigen IF- Abfrage, was aber nicht das richtige sein kann.

Habe was von DTD gehört, weiß aber nicht wirklich was damit anzufangen. ob man nun mit einer XML validideren oder eine XSD :helpsmil:

Danke und mfG
__________________
Spielend reich werden

David 16.07.2009 17:23

Was genau meinst du mit "Überprüfen"?
Validieren kannst du es z.B. damit:
PHP: DOMDocument::validate - Manual

Überhaupt bietet PHP viele Möglichkeiten xml-Datein zu bearbeiten:
PHP: XML-Manipulation - Manual

sucka 17.07.2009 14:48

Hy, die dateien müssen immer bestimmt lang, bestimmte tags und bestimmten inhalt haben, der immer gleich ist. Ich will damit überprüfen ob die hochgeladene XMl passt.

lg

David 17.07.2009 15:08

Um XML-Objekte zu durchsuchen kannst du dich der XPath bedienen.

Mit SimpleXML geht das relativ einfach mit der Methode "xpath()".

Wenn also dein XML-Dokument so ausieht:
Code:

<root>
  <element_1>
      <obligatorisch>
            obligatorischer Inhalt
      </obligatorisch>
  </element_1>
</root>

könnte der XPath z.B. so aussehen (wenn das benötigte Element immer an der selben Stelle zu finden sein soll):
/root/element_1/obligatorisch

Oder
//obligatorisch
wenn die Position egal ist.

Es geht natürlich noch wesentlich komplexer (siehe Link).

$simpleXMLObjetc->xpath() gibt dir dann ein Array(auch wenn nur ein Knoten gefunden wird) mit den gefunden Knoten als Objekt wieder. Das kannst du dann auswerten.

Pascolo 17.07.2009 17:33

Zitat:

Zitat von sucka (Beitrag 439050)
... die dateien müssen immer bestimmt lang, bestimmte tags und bestimmten inhalt haben, der immer gleich ist. ...

Sofern ich dich nicht falsch verstanden habe, könntest du es einmal mit der Funktion md5_file() versuchen, denn wenn alle Dateien gleich sein sollen, dann müssen sie auch jeweils den gleichen Hashwert haben.

Pablo 18.07.2009 05:03

Zitat:

Zitat von Pascolo (Beitrag 439064)
denn wenn alle Dateien gleich sein sollen, dann müssen sie auch jeweils den gleichen Hashwert haben.

Zitat:

Zitat von sucka (Beitrag 439050)
Ich will damit überprüfen ob die hochgeladene XMl passt.

Bei hochgeladenen Dateien erübrigt sich für gewöhnlich der Sinn, wenn sie den gleichen hash Wert haben sollen ;)


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:35 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2020, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2020