[PHP] SimpleXML, XMLnode met XHTMLnodes Outputten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
Ik maak gebruik van SimpleXML, dus zoek eigenlijk ook een Simpele oplossing ;) Probleem is klein. Ik lees een XMLFile in, alles simpel, en dan wil ik een bepaalde tag weer outputten met de inhoud. De inhoud bestaat uit tekst en XHTMLnodes.

Als voorbeeld de tag 'bericht' als onderdeel van het SimpleXMLObject 'xml'

PHP:
1
print_r($xml->bericht);

geeft
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SimpleXMLElement Object
(
    [p] => Array
        (
            [0] => 
                Tekst1 blabla
            
            [1] => 
            Tekst2
        
            [2] => 
            Tekst3
        
        )

)

bericht ziet eruit als:
XML:
1
2
3
4
5
6
7
<datastream>
   <bericht>
      <p>Tekst1 blabla</p>
      <p>Tekst2<b> blabla</b></p>
      <p>Tekst3<a href="">tekst</a></p>
   </bericht>
</datastream>


Als ik nu bericht wil outputten, doe ik bijv
PHP:
1
echo $xml->bericht

Resultaat is een leegte, want hij probeert nu gewoon die array zeg maar te echoën/of misschien de witruimte tussen de start en eindtag van het bericht-element.

Ik kan wel doen
PHP:
1
echo $xml->bericht->asXML();
Maar dan krijg ik ook een < ?xml ..? > tag en dat wil ik niet, want ik moet het gedeelte ergens in een XML document invoegen.

Wat ik dus wil is om de 'bericht'-tag weer te geven, incl childNodes, zonder alles door te lopen (want dat vind ik niet zo simpel). Moet toch vast een oplossing voor zijn? (btw implode oid. deed de truc niet bij mij)

[ Voor 18% gewijzigd door r0bert op 17-08-2005 17:07 . Reden: c0de ]


Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
waarom str_replace/substr je die <?xml...?> er niet gewoon simpel vanaf?

of

PHP:
1
2
3
<?
echo $xml->bericht[0]->asXML();
?>

[ Voor 36% gewijzigd door Genoil op 17-08-2005 18:37 ]


Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

daar heb je toch xsl voor ? :X

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • Genoil
  • Registratie: Maart 2000
  • Laatst online: 12-11-2023
om een brokje xml in het andere te hangen? beetje overdreven imo

Acties:
  • 0 Henk 'm!

  • r0bert
  • Registratie: September 2001
  • Laatst online: 30-07 02:32
Ja, replace heb ik op het moment ook gedaan, maar vind het niet zo netjes heh? Ik denk dat ze daar maar een FLAG voor moeten maken in de asXML functie.. Als Document of NodeSet ofzo..

En XSL, dat wordt den kik inderdaad beetje te veel van het goede.. dan gaat het van xml > xsl > gehele xml > xsl. Ik heb het ook geprobeerd met XPath, maar dan krijg ik hetzelfde probleem met de output