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

Linda Hamilton
Libérer: 2024-11-25 02:39:23
original
856 Les gens l'ont consulté

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;
Copier après la connexion

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;
Copier après la connexion

É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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal