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

Comment extraire le contenu XML interne d'un objet SimpleXMLElement en PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-28 19:28:02515parcourir

How to extract the inner XML content of a SimpleXMLElement object in PHP?

Obtenir du contenu XML interne avec SimpleXML en PHP

Lorsque vous travaillez avec des données XML en PHP, vous pouvez rencontrer une situation dans laquelle vous devez extraire le contenu interne d'un élément, à l'exclusion des balises d'élément elles-mêmes. Ceci peut être réalisé à l'aide de requêtes XPath ou de fonctions personnalisées.

Approche des fonctions personnalisées :

Une méthode efficace pour obtenir le contenu XML interne consiste à créer un fichier personnalisé fonction qui parcourt les nœuds et extrait les données requises.

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

Utilisation :

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

$answer = simplexml_load_string($xml);
$inner_content = SimpleXMLElement_innerXML($answer);

echo $inner_content; // Output: "Who who, <strong>who who</strong>, <em>me</em>"</code>

Conclusion :

Cette fonction personnalisée fournit un moyen simple et efficace de récupérer le contenu XML interne des objets SimpleXMLElement, sans recourir à des techniques complexes de manipulation de chaînes. Il est particulièrement utile lors de la gestion de structures XML volumineuses ou complexes.

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