Comment obtenir le contenu de la balise SVG avec PHP

Je voudrais obtenir le contenu de la balise SVG avec PHP.

test.svg:

<?xml version="1.0" encoding="utf-8"?>
<!-- comment  -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
 width="202.5px" height="226.084px" viewBox="0 0 202.5 226.084" enable-background="new 0 0 202.5 226.084" xml:space="preserve">
   <g>
        <path d="M0,13.628c47.7940,13.628z"/>
        <polygon points="108.48,207.874 145.506,196.948 145.506,204.536 108.48,214.854  "/>
        <path fill="none" stroke="#000000" d="M114.55,223.959"/>
   </g>
   <g>       
        <path fill="none" stroke="#000000" d="M114.55,223.959"/>
   </g>
   <anythingElse>       
        <path fill="none" stroke="#000000" d="M114.55,223.959"/>
   <anythingElse>       
</svg>

php:

$svg = new SimpleXMLElement( file_get_contents( 'test.svg' )  );

$svg->registerXPathNamespace('svg', 'http://www.w3.org/2000/svg');
$svg->registerXPathNamespace('xlink', 'http://www.w3.org/1999/xlink');

Maintenant, je voudrais obtenir le svg, le contenu de la balise comme une chaîne de caractères.

Résultat souhaité (codé en dur exemple):

$content =  '<g>
    <path d="M0,13.628c47.7940,13.628z"/>
    <polygon points="108.48,207.874 145.506,196.948 145.506,204.536 108.48,214.854  "/>
    <path fill="none" stroke="#000000" d="M114.55,223.959"/>
</g>
   <g>       
        <path fill="none" stroke="#000000" d="M114.55,223.959"/>
   </g>
   <anythingElse>       
        <path fill="none" stroke="#000000" d="M114.55,223.959"/>
   <anythingElse> ';

//EDIT:

Je ne veux pas avoir l'air de g tag: '/svg:svg/svg:g'.
Comme il n'y a aucune garantie que l'intérieur de la svg, il y aura une balise g. Il pourrait y avoir plus d'une balise g ou certains autres balises.

Je veux obtenir tout ce qui est entre l'ouverture et la fermeture des balises svg.

Comment est-ce un doublon?
Il suffit de chercher "simplexml des enfants" et vous devriez trouver des extraits de code, des tutoriels et ce n'est pas. La prochaine fois, faites votre problème de programmation de plus en plus clair, vous risquez plus d'avoir un problème avec l'expression de la programmation. Se joindre au PHP chat au cas où.

OriginalL'auteur user2015338 | 2013-04-26