Avatar billede Slettet bruger
14. oktober 2010 - 09:53 Der er 6 kommentarer og
1 løsning

Udskrift fra XML fil

Hej.

Jeg har prøvet i XML området, men der var ikke så stor respons. Ved ikke om det er fordi jeg har lavet mit script i PHP - så nu prøver jeg også lige her. I plejer jo at være gode til at hjælpe herinde. :-)

Jeg har lige fået et nyt format til mine nyheder som jeg får ind udefra.

Det er lidt et andet format, så jeg kan ikke få mit nuværende script til at parse dette:

<article>
    <headline><![CDATA[Lige en test af overskriften]]></headline><byline></byline><date></date><category></category><paragraphs><paragraph><headline></headline>
<content><![CDATA[En masse tekstindhold... bla. bla. bla. bla. bla. bla. bla. bla. bla. bla. bla. bla. bla. bla. bla. bla. bla. bla. bla. bla.
]]></content></paragraph></paragraphs><images><image>
    <url>http://x.x/michael_jackson_09_wenn2318240.jpg</url><title></title><description></description><byline><![CDATA[Af Jens Jensen]]></byline></image></images>
</article>

Altså <headline>, <content> og <image> skal skrives ud. Samt en <byline>.

Håber der er nogen der kan hjælpe med at få rettet mit script til. (Der er naturligvis flere artikler, så den skal bare tage alle "article" der findes.

Her er mit gamle script:

<?php   
$xml = file_get_contents("http://x.x/minfil.xml");   
echo "<tablel>\n";
foreach($xml->article as $article)   
{
?>
<tr>
<td>
<?php
          $media = $article->children("http://search.yahoo.com/mrss/");       
   
    $text = $article->headline;
    $text2 = $article->content;       
    ?>
<table>
    <tr>
    <td width="70">
    <?php
        echo '<a style="color: white"><img border="0" src="wallimages/thumbs/'.$thumb.'" height="50" width="70"></a>'; 
        ?>
    </td>
        <td>
        <?php
    echo $text
    ?>   
        </td>   
        <td width="80">
        <?php
        // echo '<a target="_blank" href="'.$text2.'" style="color: white"><img border="0" src="images/buy.gif">  </a>';
        ?>
        </td>
    </tr>
</table>
    <?php
    ?>
</td>   
    <?php
    }
    echo"</table>";
echo"</tr>\n";
echo"</table>";
    ?>
Avatar billede tjens Nybegynder
14. oktober 2010 - 19:06 #1
Jeg forstår ikke hvordan dit gamle script kunne virke, hvis $xml bare er en string?
Men ligemeget med det.
Dit script skal ikke laves meget om, for at bruge f.eks. SimpleXML. Se eksempel her: http://www.w3schools.com/php/php_xml_simplexml.asp

Der er andre muligheder: http://www.w3schools.com/php/php_xml_dom.asp http://www.w3schools.com/php/php_xml_parser_expat.asp
Avatar billede Slettet bruger
15. oktober 2010 - 09:38 #2
Tak for det tjens... 
Har prøvet at tilrette og bruge den fra linket, men kan ikke rigtigt få den til at udskrive...
Det er noget encoding fejl ser det ud til..

Du kan prøve, hvis du har tid og se hvad den siger og om du ved hvad det skyldes.

<?php
$xml = simplexml_load_file("http://www.skala.fm/xml/udskrift.xml");

echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
  {
  echo $child->getName() . ": " . $child . "<br />";
  }
?>
Avatar billede Slettet bruger
15. oktober 2010 - 09:42 #3
Ahhh... skulle lige have tilføjet XML encoding på siden.. :-)
<?xml version="1.0" encoding="ISO-8859-1"?>
Avatar billede Slettet bruger
15. oktober 2010 - 09:43 #4
Hmmm.. nå, det var ikke så simpelt et problem.. Bare glem hvad jeg skrev.. :-)
Avatar billede Slettet bruger
15. oktober 2010 - 10:31 #5
Nå... Jeg har lige fået "sourcen" til at ændre lidt i formatet, da der er ting der mangler i XML filen.. Så bare lige sæt den på pause indtil videre.. :-)
Avatar billede tjens Nybegynder
15. oktober 2010 - 11:56 #6
Ja, når man går fra tekststreng til XML-DOM er det kritisk at xml-filen er gyldig.

Microsoft Internet Explorer er udmærket til at teste om en xml-fil er gyldig:
Tast addressen direkte i MSIE og xml-filen præsenteres pænt i browseren, hvis den er gyldig.
Ellers kommer der en fejlside.
Avatar billede Slettet bruger
20. november 2012 - 11:52 #7
Svar
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