2011-01-16 6 views
1

Ich habe eine XML-Datei von einem Client und es ist nicht gut formatiert. Dieses XML wurde aus Flash generiert und ich habe keine Quelldatei, um Tags hinzuzufügen.Unformatierte XML-Analyse mit PHP

Gibt es eine Möglichkeit kann ich eine XML-Datei in PHP, preg_replace die Tags mit "etwas" öffnen und die Ausgabe anzeigen.

Ich habe gerade versucht PHP-Datei öffnen und den Inhalt zu lesen und es zeigt die Ausgabe, aber es gibt keine Zeilenumbrüche so.

Gibt es eine Möglichkeit, die XML und ändern Sie die Tags on the fly zu lesen und dann nur Datei zu lesen, den Inhalt zu zeigen? xml Inhalt

Beispiel - also im Grunde die Informationen in einem eigenen Tag, aber nicht über einen übergeordneten Tag wie „“. Irgendeine Idee, wie kann ich nur alle diese Informationen anzeigen? zum Anzeigen ich will

xxxxxx in
yyyyyy in
[16.38] mr.xyz:hello
[16.38] mr.abc:hey
xxxxxx aus

<?xml version="1.0" encoding="UTF-8"?> 
<in>---xxxxxx in---</in> 
<in>---yyyyyy in---</in> 
<time>[16:38]</time> <user>mr.xyz</user><separator>:</separator> </content>hello</content> 
<time>[16:38]</time> <user>mr.abc</user><separator>:</separator> </content>hey</content> 
<out>---xxxxxx out--</out> 
+0

dann wieder, es sieht fast aus wie alles, was Sie tun wollen strip_tags ist(). – dqhendricks

+0

danke euch allen..ich habe endlich nur die Datei geöffnet und dann foreach benutzt und eine
hinzugefügt. das funktioniert jetzt gut. Danke noch einmal. – Jay

Antwort

0

Sie könnten so etwas tun - und dann die Content-Type-Header auf XML mit PHP-Funktion header('Content-type: text/xml'); setzen und der Browser würde es als XML-Dokument dienen.

function replaceTag($tag, $new, $content) 
{ 
    if (!preg_match('/\<'.$tag.'(.*?)\>(.*?)\<\/'.$tag.'\>/i', $content)) 
    { 
     return FALSE; 
    } 
    return preg_replace('/\<'.$tag.'(.*?)\>(.*?)\<\/'.$tag.'\>/i', "<{$new}$1>$2</{$new}>", $content); 
} 

echo replaceTag('in', 'newIn', '<in>123</in>'); // Should output <newIn>123</newIn> 

EDIT: ich die Frage falsch verstanden haben könnte. Wenn Sie etwas mit den Daten der XML-Ausgabe machen wollen, verweise ich Sie auf die Methoden simplexml in PHP. Mehr Informationen zu ihnen finden Sie hier; http://php.net/simplexml