2016-06-29 43 views
1

Ich verwende PHP SimpleXML, um Daten in einer Datei zu analysieren. Sagen Sie zum Beispiel, das ich den folgenden XML-Inhalt haben:PHP SimpleXML roher Inhalt des Knotens

<?xml version="1.0" ?> 
 
<root> 
 
    <parent1> 
 
    <child1>blah</child1> 
 
    <child2>blah blah</child2> 
 
    </parent1> 
 
    <parent2>blah</parent2> 
 
</root>

ich im Grunde die eigentliche Rohinhalt des Inneren eines Knotens erhalten möchten. I.e. Ich brauche es, um die "innerXML" von parent1 nur als Text, Tags und alle zurückzugeben. Probleme haben, PHP dazu zu bringen. Hilfe?

+0

Einschließlich offen '' und schließen Tags? – splash58

+0

was ist passiert? Warum lösche Antwort? – Naumov

+0

Ich speichere keine Antworten mit negativer Bewertung – splash58

Antwort

2

Um den genauen Inhalt '<child1>blah</child1><child2>blah blah</child2>' als sich selbst zu erhalten, setzen Sie sie besser unter <![CDATA[]]> Dann können Sie jedes Ding darin als selbst erhalten.

xml sollte so sein ::

<?xml version="1.0" ?> 
<root> 
    <parent1> 
    <![CDATA[<child1>blah</child1> 
    <child2>blah blah</child2>]]> 
    </parent1> 
    <parent2>blah</parent2> 
</root> 

Dann

$xml = simplexml_load_string($xmlstring, 'SimpleXMLElement', LIBXML_NOCDATA); 

$parent1 = $xml->parent1->asXml(); 
echo "<pre>";echo ($parent1);echo "<pre>"; 

erhalten Sie folgende Ausgabe:

<child1>blah</child1> 
<child2>blah blah</child2>