Maison  >  Article  >  développement back-end  >  Comment extraire le contenu XML interne d'un SimpleXMLElement sans les balises d'emballage en PHP ?

Comment extraire le contenu XML interne d'un SimpleXMLElement sans les balises d'emballage en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-01 15:59:30223parcourir

How to Extract Inner XML Content from a SimpleXMLElement Without the Wrapping Tags in PHP?

Extraction du contenu XML interne avec PHP SimpleXML

Lors de l'extraction du contenu HTML interne d'un élément à l'aide de la classe SimpleXMLElement de PHP, la méthode asXML() renvoie l'élément entier, y compris ses balises d'emballage. Pour obtenir uniquement le XML interne, une fonction personnalisée est requise.

Une de ces fonctions est présentée ci-dessous :

<code class="php">function SimpleXMLElement_innerXML($xml)
{
    $innerXML = '';
    foreach (dom_import_simplexml($xml)->childNodes as $child) {
        $innerXML .= $child->ownerDocument->saveXML($child);
    }
    return $innerXML;
}</code>

Par exemple, étant donné le XML suivant :

<code class="xml"><qa>
    <question>Who are you?</question>
    <answer>Who who, <strong>who who</strong>, <em>me</em></answer>
</qa></code>

Pour extraire le XML interne de l'élément de réponse :

<code class="php">$xml = simplexml_load_string($xml_string);
$answer_innerXML = SimpleXMLElement_innerXML($xml->answer);</code>

$answer_innerXML contiendra la chaîne :

Who who, <strong>who who</strong>, <em>me</em>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn