PHP SimpleXML ne conserver les sauts de ligne dans les attributs XML

J'ai pour analyser externe fourni XML qui a des attributs avec des sauts de ligne dans les. À l'aide de SimpleXML, les sauts de ligne semblent être perdu. Selon une autre question stackoverflow, les sauts de ligne doit être valide (même si beaucoup moins que l'idéal!) pour XML.

Pourquoi sont-ils perdus? [edit] Et comment puis-je les conserver? [/edit]

Voici une démo fichier de script (à noter que lorsque les sauts de ligne ne sont pas dans un attribut ils sont conservés).

Fichier PHP avec XML incorporé

$xml = <<<XML
<?xml version="1.0" encoding="utf-8"?>
<Rows>
    <data Title='Data Title' Remarks='First line of the row.
Followed by the second line.
Even a third!' />
    <data Title='Full Title' Remarks='None really'>First line of the row.
Followed by the second line.
Even a third!</data>
</Rows>
XML;

$xml = new SimpleXMLElement( $xml );
print '<pre>'; print_r($xml); print '</pre>';

Sortie de print_r

SimpleXMLElement Object
(
    [data] => Array
        (
            [0] => SimpleXMLElement Object
                (
                    [@attributes] => Array
                        (
                            [Title] => Data Title
                            [Remarks] => First line of the row. Followed by the second line. Even a third!
                        )

                )

            [1] => First line of the row.
Followed by the second line.
Even a third!
        )

)
  • Vous devriez poser cette question en PHP page d'accueil. Je suppose que c'est parce que c'est SIMPLE analyseur xml.
  • Pouvez-vous expliquer un peu plus ce que tu veux dire par le PHP page d'accueil?
  • Initialement, votre question était "Pourquoi SimpleXML est ce qu'il fait?" C'est ce que vous pouvez demander, c'est aux développeurs de ne pas les utilisateurs.
  • Gotcha - merci pour la recommandation, Zilupe. Maintenant que bobince a répondu "Pourquoi SimpleXML est ce qu'il fait?" Je pense que je vais garder cette sur stackoverflow, dans l'espoir que quelqu'un peut ajouter sur ce que d'autres options que j'ai à conserver les sauts de ligne!
InformationsquelleAutor Joshua | 2009-09-21