96 votes

SimpleXml à chaîne

Est-il une fonction qui rend la chaîne de PHP simpleXMLElement?

141voto

Tim Cooper Points 55292

Vous pouvez utiliser l' SimpleXMLElement::asXML() méthode pour ce faire:

$string = "<element><child>Hello World</child></element>";
$xml = new SimpleXMLElement($string);

// The entire XML tree as a string:
// "<element><child>Hello World</child></element>"
$xml->asXML();

// Just the child node as a string:
// "<child>Hello World</child>"
$xml->child->asXML();

75voto

Nicolay77 Points 331

Vous pouvez utiliser la conversion:

<?php

$string = "<element><child>Hello World</child></element>";
$xml = new SimpleXMLElement($string);

$text = (string)$xml->child;

$texte sera " Bonjour le Monde!'

18voto

codaddict Points 154968

Vous pouvez utiliser l' asXML méthode:

<?php

// string to SimpleXMLElement
$xml = new SimpleXMLElement($string);

// make any changes.
....

// convert the SimpleXMLElement back to string.
$newString = $xml->asXML();
?>

17voto

tolginho Points 334

En fait asXML() convertit la chaîne en xml comme son nom l'indique:

<id>5</id>

Cela s'affiche normalement sur une page web, mais cela va causer des problèmes lorsque vous correspondance des valeurs avec quelque chose d'autre.

Vous pouvez utiliser la fonction strip_tags pour obtenir la vraie valeur du champ comme:

$newString = strip_tags($xml->asXML());

PS: si vous travaillez avec des entiers ou des nombres flottants, vous devez le convertir en entier avec intval() ou floatval().

$newNumber = intval(strip_tags($xml->asXML()));

4voto

Shamim Hafiz Points 8419

Peut-être que Ce est ce que vous cherchez.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X