Avatar billede martin_shearer Nybegynder
27. februar 2006 - 15:41 Der er 10 kommentarer og
1 løsning

hvad betyder denne fejl ?

Hej

jeg er ved at lave noget rss ud fra noget på min side, men jeg får denne fejl, http://www.112-aarhus.dk/feeds/news.php

nogen der kan hjælpe mig, med at fixe det. jeg forstår ikke helt, hvad den brokker sig over ...
Avatar billede jarret Nybegynder
27. februar 2006 - 15:46 #1
har du et root element i dit XML dokument
Avatar billede softspot Forsker
27. februar 2006 - 15:46 #2
Det betyder bare at der er flere rodelementer i det xml-dokument du er igang med at parse, det må der ikke være.

Eksempel:

<script>
</script>
<script>
</script>

Ovenstående er 2 rodelementer. Hvis du skal fixe det, skal du evt. lave et rodelement som indeholder alt det xml du henter, f.eks.:

<root>
  <script>
  </script>
  <script>
  </script>
</root>
Avatar billede jarret Nybegynder
27. februar 2006 - 15:48 #3
er ikke meget styr på XML, men ved dog at et dokument skal have er root element der omfatter alt andet...
Avatar billede jarret Nybegynder
27. februar 2006 - 15:49 #4
(o:
Avatar billede martin_shearer Nybegynder
27. februar 2006 - 15:50 #5
vil det sige, jeg skal rette i min XML fil eller ?

den ser nemlig sådan her ud:

header("Content-Type: text/xml");
require_once "../maincore.php";
require_once THEME."theme.php";

$result3=dbquery("SELECT * FROM ".$db_prefix."news ORDER BY news_datestamp DESC LIMIT 0,10");
$result2=dbquery("SELECT siteurl FROM ".$db_prefix."settings");
$base=dbresult($result2,0);

echo "<?xml version=\"1.0\" encoding=\"".$locale['charset']."\"?>\n\n
    <!DOCTYPE rss PUBLIC \"-//Netscape Communications//DTD RSS 0.91//EN\"\n
    \"http://my.netscape.com/publish/formats/rss-0.91.dtd\">\n\n
    <rss version=\"0.91\">\n\n
    <channel>\n
    <title>".$settings['sitename']." - News</title>\n
    <link>".$base."</link>\n
    <description>".$settings['description']."</description>\n";

while ($row=dbarray($result3)) {
    $rsid = intval($row['news_id']);
    $rtitle = $row['news_subject'];
    $description = stripslashes(nl2br($row['news_news']));

// Add allowable HTML tags between quotes below, all others will be stripped
    $description = strip_tags($description, "<A><P><BR><BR /><HR>");

    echo "<item>\n
    <title>".htmlspecialchars($rtitle)."</title>\n
    <link>".$base."news.php#".$rsid."</link>\n
    <description>".htmlspecialchars($description)."</description>\n
    </item>\n\n";
}
echo "</channel>
    </rss>";

?>
Avatar billede softspot Forsker
27. februar 2006 - 16:08 #6
Hmm... umiddelbart ser det XML du får ud af det PHP-script jo fint nok ud, så der kan jeg ikke lige se hvad du skal ændre...
Avatar billede martin_shearer Nybegynder
27. februar 2006 - 16:18 #7
tror det har noget af gøre med disse to filer

require_once "../maincore.php";
require_once THEME."theme.php";

Fjerner jeg den nederste, så virker det fint. ved bare ikke rigtigt om der har noget betydning.
Avatar billede softspot Forsker
27. februar 2006 - 16:27 #8
Kan det være du skal flytte den linie du fjerner for at det fungerer ned i selv rss-elementet i dit output (jeg tænker om det er fordi den indholder noget XML)...?
Avatar billede martin_shearer Nybegynder
27. februar 2006 - 16:34 #9
Yep tror de 2 filer begge indeholder det <script> der giver fejlen, når den optræder to gange. nu har jeg bare et sidste problem, hvordan begrænser jeg antal tegn i <desctiption> ?

mit forslag vil være:
<description>".htmlspecialchars($description), 30."</description> men det virker ikke ?
Avatar billede softspot Forsker
27. februar 2006 - 16:42 #10
Jeg er desværre ikke 100m mester i PHP, så jeg kan ikke fortælle dig hvad du skal gøre, men jeg vil da tro at det er en funktion som skal kaldes ifm. $description, f.eks.:

<description>".htmlspecialchars(sub_string($description,30))."</description>
Avatar billede martin_shearer Nybegynder
24. marts 2006 - 22:04 #11
lukket,
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
Kurser inden for grundlæggende programmering

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