Avatar billede plexx Nybegynder
17. november 2005 - 23:10 Der er 1 løsning

dom i php 5 (xml)

Hej eksperter,
Jeg har et xml dokument hvori jeg gerne vil hente det der står i tag'et <name></name> men jeg kan ikke få min kode til at virke...
--- XML ---
<?xml version="1.0" encoding="ISO-8859-1"?>
<menu>
<item>
  <name>Forside - SKAL HENTES</name>
  <link>forside</link>
</item>
<item>
  <name>Ideen bag - SKAL HENTES</name>
  <link>ideenbag</link>
</item>
<item>
  <name>Kontakt - SKAL HENTES</name>
  <link>kontakt</link>
</item>
<item>
  <name>Om os - SKAL HENTES</name>
  <link>omos</link>
</item>
</menu>
----------

--- PHP ---
$dom = new DomDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->load('...\data.xml');
$docele = $dom->documentElement;
$domnodelst = $docele->getElementsByTagName('item');
$domele = $domnodelst->item(0);
$domnodelst2 = $domele->getElementsByTagName('name');
$domele2 = $domnodelst->item(0);
Echo $domele2->nodeValue;
-----------
I eksemplet herover har jeg kun forsøgt at hente det der står i det første <name> tag, men det kan jeg ikke en gang få til at virke. Nogen der kan se hvad jeg gør galt?

/Plexx
Avatar billede plexx Nybegynder
18. november 2005 - 00:34 #1
Fandt selv ud af det:
$dom = new DomDocument;
$dom->preserveWhiteSpace = FALSE;
$dom->load('...\data.xml');
$docele = $dom->documentElement;
$domnodelsts = $docele->getElementsByTagName('item');
foreach($domnodelsts as $domnodelst)
{
    $name = $domnodelst->getElementsByTagName('name')->item(0)->nodeValue;
    $link = $domnodelst->getElementsByTagName('link')->item(0)->nodeValue;
}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester