Maison  >  Article  >  développement back-end  >  Comment extraire le contenu XML interne de SimpleXMLElement en PHP ?

Comment extraire le contenu XML interne de SimpleXMLElement en PHP ?

DDD
DDDoriginal
2024-10-27 19:09:30647parcourir

How to Extract Inner XML Content from SimpleXMLElement in PHP?

PHP SimpleXML : Accéder au XML interne

Dans la manipulation XML avec SimpleXML de PHP, il est souvent nécessaire de récupérer le contenu HTML interne d'un élément sans la balise qui l'entoure. Cet article explique comment y parvenir à l'aide de SimpleXML.

Considérez la structure XML suivante :

<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 contenu interne de l'élément « réponse » sous forme de chaîne, les méthodes suivantes sont disponible :

Utilisation de asXML() :

<code class="php">$answer = new SimpleXMLElement($xml);
$innerXML = $answer->asXML(); // Returns "<answer>Who who, <strong>who who</strong>, <em>me</em></answer>"</code>

Utilisation de DOMDocument :

<code class="php">$answer = new SimpleXMLElement($xml);
$dom = dom_import_simplexml($answer);
$innerXML = $dom->ownerDocument->saveXML($dom); // Returns "Who who, <strong>who who</strong>, <em>me</em>"</code>

Utilisation une fonction personnalisée :

La fonction personnalisée suivante peut être définie pour extraire le XML interne :

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

À l'aide de cette fonction :

<code class="php">$innerXML = SimpleXMLElement_innerXML($answer); // Returns "Who who, <strong>who who</strong>, <em>me</em>"</code>

Ces méthodes fournissent options pour extraire le XML interne des éléments SimpleXML, permettant une manipulation et une récupération efficaces du contenu XML.

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