Maison >développement back-end >tutoriel php >Comment puis-je formater correctement la sortie XML en PHP ?

Comment puis-je formater correctement la sortie XML en PHP ?

Linda Hamilton
Linda Hamiltonoriginal
2024-11-25 02:39:23996parcourir

How Can I Properly Format XML Output in PHP?

PHP XML : obtenir une sortie correctement formatée

Dans la programmation PHP XML, le formatage de la sortie comme vous le souhaitez peut être un problème. Lorsqu'un document XML est affiché dans un navigateur, il peut apparaître sous la forme d'une seule ligne, sans la structure ni l'indentation souhaitées. Ce problème survient lorsque l'espace blanc est supprimé lors du processus de sauvegarde XML.

Solution :

Pour résoudre ce problème, PHP fournit deux paramètres pour DomDocument :

  • preserveWhiteSpace : définir ceci sur false empêche la suppression des espaces blancs.
  • formatOutput : définir ceci sur true demande à PHP de formater le XML de sortie de manière esthétique.

Implémentation :

// ... (code as before)

// Set the formatting parameters
$doc->preserveWhiteSpace = false;
$doc->formatOutput = true;

// Get the formatted XML output
$xml_string = $doc->saveXML();
echo $xml_string;

Alternativement, ces paramètres peuvent être définis immédiatement après la création du DomDocument :

$doc = new DomDocument('1.0');
$doc->preserveWhiteSpace = false;
$doc->formatOutput = true;

Échantillon Sortie :

<?xml version="1.0"?>
<root>
  <error>
    <a>eee</a>
    <b>sd</b>
    <c>df</c>
  </error>
  <error>
    <a>eee</a>
    <b>sd</b>
    <c>df</c>
  </error>
  <error>
    <a>eee</a>
    <b>sd</b>
    <c>df</c>
  </error>
</root>

Indentation :

PHP ne permet pas de modifier le caractère d'indentation. Cependant, vous pouvez post-traiter le XML à l'aide d'expressions régulières ou utiliser la fonction Tidy_repair_string de l'extension Tidy, qui fournit des options d'indentation.

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