php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > XML
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


XML Hier passt alles rein, was das Thema XML (XSLT, JSON etc...) betrifft, auch in Verbindung mit PHP

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 11-07-2006, 12:58
XChris
 Newbie
Links : Onlinestatus : XChris ist offline
Registriert seit: Jul 2006
Beiträge: 15
XChris ist zur Zeit noch ein unbeschriebenes Blatt
Standard PHP und XML

Hallo,

ich geniere in Delphi.net einen Stream den ich via POST zu einen Server mit PHP sende. Es wird eine XML gesendet:

Dies sieht z.B. so aus:

PHP-Code:
<?xml version="1.0" encoding="charset=ISO-8859-1"?>
<EnvCrypt xmlns="http://192.168.0.203/EnvisysWebService/Server/envisys.xsd">
<Info>Register</Info>
<Version>1.0</Version>
<Data>Datenklumpen#/?-0</Data>
</EnvCrypt>
nun fang ich das ganzemit PHP auf und will es weiter verarbeiten - jedoch liegt hier mein Problem:

Zitat:
OK!!!<?xml_version"1.0" encoding="charset=ISO-8859-1"?>
<EnvCrypt xmlns="http://192.168.0.203/EnvisysWebService/Server/envisys.xsd">
<Info>Register</Info>
<Version>1.0</Version>
<Data>Datenklumpen#/?-0</Data>
</EnvCrypt>!!!<br />
<b>Warning</b>: SimpleXMLElement::__construct() [<a href='function.SimpleXMLElement---construct'>function.SimpleXMLElement---construct</a>]: Entity: line 1: parser warning : xmlParsePITarget: invalid name prefix 'xml' in <b>C:\wamp\www\EnvisysWebService\Server\lib\serverlib_registrierung.php</b> on line <b>20</b><br />
<br />
usw.

Der PHP Quellcode:

PHP-Code:
<?php
header
("Content-type: text/plain");
include(
"lib/serverlib_registrierung.php");

foreach(
$_POST as $k=>$v$Inhalt $k.$v;
if (
get_magic_quotes_gpc()) 
{      
    
$Inhalt stripslashes($Inhalt);
}

$XMLPars = new Registrierung($Inhalt);
?>

// liegt in einer eigenen Klasse und in einem eigenen File ....
public function Registrierung($temp)    
    {     
          echo "!!!".$temp."!!!";
          $xml = new SimpleXMLElement(($temp));                      
    }
Kann mir jemand helfen, die Umwandlung der HTML Tags zu "verhindern" - also in irgend ne Form diesen String wirklich als XML zu "sehen"?

Chris
__________________
www.software-developers-home.de
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 11-07-2006, 13:46
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: PHP und XML

Bitte was willst du?

Geht es dir lediglich darum, dein XML in HTML angezeigt zu bekommen? Dann htmlspecialchars().
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 11-07-2006, 13:53
XChris
 Newbie
Links : Onlinestatus : XChris ist offline
Registriert seit: Jul 2006
Beiträge: 15
XChris ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Re: PHP und XML

Zitat:
Original geschrieben von wahsaga
Bitte was willst du?


Ich möchte den Inhalt meiner Postvariable, garniert mit XML Tags in ein SimpleXMLElement stecken.

Zitat:
Geht es dir lediglich darum, dein XML in HTML angezeigt zu bekommen? Dann htmlspecialchars().
Das isses leider nicht.

Wer war so clever und hat diese Frage in XML gesteckt? Das Problem hat wirklich NICHTS mit XML zu tun. *stöhn*

Chris
__________________
www.software-developers-home.de
Mit Zitat antworten
  #4 (permalink)  
Alt 11-07-2006, 14:03
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Re: Re: PHP und XML

Zitat:
Original geschrieben von XChris
Ich möchte den Inhalt meiner Postvariable, garniert mit XML Tags in ein SimpleXMLElement stecken.
Und genau dabei hast du eine Fehlermeldung bekommen - also beseitige deren Ursache.
Zitat:
Wer war so clever und hat diese Frage in XML gesteckt?
Du leider nicht, also habe ich das übernommen.
Zitat:
Das Problem hat wirklich NICHTS mit XML zu tun. *stöhn*
Womit denn sonst bitte?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #5 (permalink)  
Alt 11-07-2006, 14:30
XChris
 Newbie
Links : Onlinestatus : XChris ist offline
Registriert seit: Jul 2006
Beiträge: 15
XChris ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Re: Re: Re: PHP und XML

Zitat:
Original geschrieben von wahsaga
Und genau dabei hast du eine Fehlermeldung bekommen - also beseitige deren Ursache.


Das hab ich schon alles probiert:

if (get_magic_quotes_gpc())
{
$Inhalt = stripslashes($Inhalt);
}

und

htmlspecialchars

und

htmlentities

Was muß man bei PHP sonst so beim ENCODING beachten? Serialisiert sollte der Kram nicht werden müßen oder?

Zitat:
Du leider nicht, also habe ich das übernommen.
Das clever war von mir ironisch gemeint .... ich habe überhaupt keinen Bock auf nen Forum15jahreModeratorenUndBesserwisserNutzerSchlagabtausch. Können wir (beide) nen Gang runter schalten?

Zitat:
Womit denn sonst bitte?
Mit PHP.
Wir haben einen Stream, den wir aus POST lesen und in eine PHP Klasse stecken wollen. Man könnte den Stream auch einfach ein File lenken wollen.

Das ganze hat nichts mit der hierarchichen Auszeichnungssprache XML zu tun. Ich wäre - da ich mit mehr Antworten dann rechne - froh, wenn das Problem wieder in PHP kommt.

Chris
__________________
www.software-developers-home.de
Mit Zitat antworten
  #6 (permalink)  
Alt 11-07-2006, 14:34
XChris
 Newbie
Links : Onlinestatus : XChris ist offline
Registriert seit: Jul 2006
Beiträge: 15
XChris ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nachtrag:

So wie es aussieht, stört irgend nen Zeichen in den ersten beiden Zeilen des XML,

denn das geht:

PHP-Code:
<EnvCrypt>
<
Info>Register</Info>
<
Version>1.0</Version>
<
Data>Datenklumpen#/?-0</Data>
</EnvCrypt
jedoch sollte laut Bsp aus dem Handbuch, auch XML Angaben möglich sein. Siehe Hier:

http://www.php-center.de/de-html-man...simplexml.html
__________________
www.software-developers-home.de

Geändert von XChris (11-07-2006 um 14:43 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 11-07-2006, 14:42
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard Re: Re: Re: Re: Re: PHP und XML

Zitat:
Original geschrieben von XChris
Das ganze hat nichts mit der hierarchichen Auszeichnungssprache XML zu tun.
Es hat mit dem Verarbeiten von XML-Daten in PHP zu tun.
Du bekommst dabei eine Fehlermeldung, weil dein XML fehlerhaft ist.
Zitat:
So wie es aussieht, stört irgend nen Zeichen in den ersten beiden Zeilen des XML
Tja, vielleicht gehört der Unterstrich in der XML-Deklaration da einfach nicht hin ...?

__________________
I don't believe in rebirth. Actually, I never did in my whole lives.

Geändert von wahsaga (11-07-2006 um 14:45 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 11-07-2006, 14:52
XChris
 Newbie
Links : Onlinestatus : XChris ist offline
Registriert seit: Jul 2006
Beiträge: 15
XChris ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Re: Re: Re: Re: Re: PHP und XML

Zitat:
Original geschrieben von wahsaga
Es hat mit dem Verarbeiten von XML-Daten in PHP zu tun.
Du bekommst dabei eine Fehlermeldung, weil dein XML fehlerhaft ist.


Nein.
Das XML ist wohlgeformt. Laut W3C. Wenn Du in den XML Tag schaust, siehst Du das ich ein XSD verwende.
Auch ist es UTF8 losgeschickt wurden.


Zitat:
Tja, vielleicht gehört der Unterstrich in der XML-Deklaration da einfach nicht hin ...?


PHP-Code:
<?xml version="1.0" encoding="charset=ISO-8859-1"?>
<EnvCrypt xmlns="http://192.168.0.203/EnvisysWebService/Server/envisys.xsd">
<Info>Register</Info>
<Version>1.0</Version>
<Data>Datenklumpen#/?-0</Data>
</EnvCrypt>
Ich sehe keinen Unterstrich ... ich lasse mir übrigens GENAU den Inhalt der POSTvariable wieder zurückschicken, unmittelbar, bevor ich das SimpleXMLElement Objekt initialisiere.

Chris
__________________
www.software-developers-home.de
Mit Zitat antworten
  #9 (permalink)  
Alt 11-07-2006, 15:19
v-sync
 Newbie
Links : Onlinestatus : v-sync ist offline
Registriert seit: Nov 2004
Beiträge: 15
v-sync ist zur Zeit noch ein unbeschriebenes Blatt
Standard Re: Re: Re: Re: Re: Re: Re: PHP und XML

Zitat:
Original geschrieben von XChris
Ich sehe keinen Unterstrich ... ich lasse mir übrigens GENAU den Inhalt der POSTvariable wieder zurückschicken, unmittelbar, bevor ich das SimpleXMLElement Objekt initialisiere.

Chris
Ich aber:

OK!!!<?xml_version"1.0" encoding="charset=ISO-8859-1"?>

Mit Zitat antworten
  #10 (permalink)  
Alt 11-07-2006, 15:26
XChris
 Newbie
Links : Onlinestatus : XChris ist offline
Registriert seit: Jul 2006
Beiträge: 15
XChris ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ARGH!

jetzt seh ichs im Response auch! Betriebsblind!

Wo kommt das _ her? Kann das sein, dass PHP die hinmacht?

Chris
__________________
www.software-developers-home.de
Mit Zitat antworten
  #11 (permalink)  
Alt 11-07-2006, 15:36
XChris
 Newbie
Links : Onlinestatus : XChris ist offline
Registriert seit: Jul 2006
Beiträge: 15
XChris ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Frage:

Ich hab also das Problem, dass ich nen XML versenden muß. Wie liest man in PHP dann besser die _POST Variable aus und steckt das ganze in nen SimpleXMLElement?

So wie es aussieht, werden ja eineige zeichen ersetzt von PHP.

Chris
__________________
www.software-developers-home.de
Mit Zitat antworten
  #12 (permalink)  
Alt 12-07-2006, 09:42
XChris
 Newbie
Links : Onlinestatus : XChris ist offline
Registriert seit: Jul 2006
Beiträge: 15
XChris ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

ich habe noch ein wenige rumexperimentiert. Unter anderem habe ich den STREAM direkt nach dem Empfangen in POST untersucht und nach der Behandlung (siehe oben).

PHP macht folgendes:

Es haut mir einen Unterstrich in den XML Tag, maskiert " mit / und löscht einige =

Nun meine Frage - immer noch keine XML Frage - wie bekomme ich PHP dazu, meinen Datenstream so darzustellen, dass er unverändert ankommt?

Chris
__________________
www.software-developers-home.de
Mit Zitat antworten
  #13 (permalink)  
Alt 12-07-2006, 10:56
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

print_r($_POST);
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #14 (permalink)  
Alt 12-07-2006, 12:08
XChris
 Newbie
Links : Onlinestatus : XChris ist offline
Registriert seit: Jul 2006
Beiträge: 15
XChris ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das war der entscheidende Tip!

Danke.

Es funzt. Habe auf der Clientsache beim Encoding und beim Zusammenbauen des Streams eine klitzekleinigkeit übersehen.
__________________
www.software-developers-home.de
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

Microweber CMS

Open source, drag and drop website builder

13.01.2020 Berni | Kategorie: HTML5/ EDITOR
PhoneGap Apps mit JS, CSS3 und HTML5 erstellen ansehen PhoneGap Apps mit JS, CSS3 und HTML5 erstellen

PhoneGap, Framework zur Erstellung hybrider Applikationen für mobile Endgeräte.

13.01.2020 Berni | Kategorie: App-Entwicklung
Bo)Tickets

Bo)Tickets bietet Ihnen eine Schnittstelle für Kundenanfragen an. In dem Script definieren Sie Supportbereiche, also zum Beispiel „Technik, Buchhaltung, Support“. Ihre Kunden können dann über ein Formular eine Anfrage abschicken.

31.12.2019 bocombo | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:39 Uhr.