probleem php/xml
Hallo, Ik heb net een script gemaakt in php waar ik een xml feed wilt laten generenen. Maar ik krijg steeds maar deze foutmelding: Warning: SimpleXMLElement::addChild() [simplexmlelement.addchild]: unterminated entity reference Every Day in /home/nadeepn98/domains/naatnasheed.com/public_html/feed.php on line 12
Site:
http://naatnasheed.com/feed.php
Code:
Site:
http://naatnasheed.com/feed.php
Code:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$xml = new SimpleXMLElement('<xml/>');
$xml->addAttribute('type', 'documentary');
include ("...php");
$opdracht = "SELECT * FROM ...";
$uitvoeren = mysql_query($opdracht);
while ($rij = mysql_fetch_array($uitvoeren)) {
$naat = $xml->addChild('naat');
$naat->addChild('date', ....);
$naat->addChild('time', "22:00");
$naat->addChild('Naat', .....);
$naat->addChild('url', "naatnasheed.com?naat=".."&khawan=".);
}
$xml = new SimpleXMLElement('<xml/>');
$xml->addAttribute('type', 'documentary');
include ("...php");
$opdracht = "SELECT * FROM ...";
$uitvoeren = mysql_query($opdracht);
while ($rij = mysql_fetch_array($uitvoeren)) {
$naat = $xml->addChild('naat');
$naat->addChild('date', ....);
$naat->addChild('time', "22:00");
$naat->addChild('Naat', .....);
$naat->addChild('url', "naatnasheed.com?naat=".."&khawan=".);
}
Die melding komt meestal als de waarde die je invult geen geldige xml is (bijvoorbeeld een & zal voor problemen zorgen)
en hoe kan ik ervoor zorgen dat alles geldig is? ik weet die tekens veranderen maar ik heb iets van meer dan 600 items in me db staan dus kan het ook op een andere manier? alvast bedankt
Volgens mij kan dat door geen addChild te gebruiken maar door gewoon de variabele te zetten.
Dus
Dus
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
while ($rij = mysql_fetch_array($uitvoeren)) {
$naat = $xml->addChild('naat');
$naat->date = ....;
$naat->time = "22:00";
$naat->Naat = .....;
$naat->url = "naatnasheed.com?naat=".."&khawan=".;
}
while ($rij = mysql_fetch_array($uitvoeren)) {
$naat = $xml->addChild('naat');
$naat->date = ....;
$naat->time = "22:00";
$naat->Naat = .....;
$naat->url = "naatnasheed.com?naat=".."&khawan=".;
}
Gewijzigd op 10/05/2013 23:32:34 door TJVB tvb
hij doet het bijna alleen heb ik deze fout nog Undefined root element: xml en Feeds should not be served with the "text/html" media type
Gewijzigd op 10/05/2013 23:55:54 door Nadeem eijnden
Je hebt in je html waarschijnlijk iets waar je de type declareert als text/html wat dus veranderd moet worden.
dank jullie wel voor jullie reactie al heel veel is opgelost op 1 fout na. Dit is mijn rss feed: http://www.naatnasheed.com/feed.php alleen als je nou op een link klikt gaat hij wel naar de goede pagina toe alleen hij plaatst dit %2520 in plaats va normaal %20 hoe kan ik dit oplossen?
Vies:
Netter: kijken waar dat gebeurt. Is dat bij je htmlentities()?
Netter: kijken waar dat gebeurt. Is dat bij je htmlentities()?
ik heb me code anders gebouwd
Ik weet niet precies waar dat gebeurd
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
header("Content-Type: application/rss+xml; charset=ISO-8859-1");
include("...");
$opdracht = "SELECT * FROM ...";
$uitvoeren = mysql_query($opdracht);
$rssfeed = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$rssfeed .= '<rss version="2.0">';
$rssfeed .= '<channel>';
$rssfeed .= '<title>NaatNasheed</title>';
$rssfeed .= '<link>http://www.naatnasheed.com</link>';
$rssfeed .= '<description>This is an RSS feed for Naatnasheed</description>';
$rssfeed .= '<language>en-us</language>';
$rssfeed .= '<copyright>Copyright (C) 2009 naatnasheed.com</copyright>';
while ($rij = mysql_fetch_array($uitvoeren)) {
$naatlink = str_replace("&", "&", $rij['...']);
$rssfeed .= '<item>';
$rssfeed .= '<title>'.$naatlink.'</title>';
$rssfeed .= '<description>'.$naatlink.' by '.$rij['...'].'</description>';
$rssfeed .= '<link>http://www.naatnasheed.com/naat.php?naat='.$rij['...'].'&khawan='.$rij['...'].'</link>';
$rssfeed .= '<pubDate>' . date("r") . '</pubDate>';
$rssfeed .= '<guid>http://naatnasheed.com/weblogItem'.$rij['...'].'</guid>';
$rssfeed .= '</item>';
}
echo $rssfeed;
?>
header("Content-Type: application/rss+xml; charset=ISO-8859-1");
include("...");
$opdracht = "SELECT * FROM ...";
$uitvoeren = mysql_query($opdracht);
$rssfeed = '<?xml version="1.0" encoding="ISO-8859-1"?>';
$rssfeed .= '<rss version="2.0">';
$rssfeed .= '<channel>';
$rssfeed .= '<title>NaatNasheed</title>';
$rssfeed .= '<link>http://www.naatnasheed.com</link>';
$rssfeed .= '<description>This is an RSS feed for Naatnasheed</description>';
$rssfeed .= '<language>en-us</language>';
$rssfeed .= '<copyright>Copyright (C) 2009 naatnasheed.com</copyright>';
while ($rij = mysql_fetch_array($uitvoeren)) {
$naatlink = str_replace("&", "&", $rij['...']);
$rssfeed .= '<item>';
$rssfeed .= '<title>'.$naatlink.'</title>';
$rssfeed .= '<description>'.$naatlink.' by '.$rij['...'].'</description>';
$rssfeed .= '<link>http://www.naatnasheed.com/naat.php?naat='.$rij['...'].'&khawan='.$rij['...'].'</link>';
$rssfeed .= '<pubDate>' . date("r") . '</pubDate>';
$rssfeed .= '<guid>http://naatnasheed.com/weblogItem'.$rij['...'].'</guid>';
$rssfeed .= '</item>';
}
echo $rssfeed;
?>
Ik weet niet precies waar dat gebeurd
Weet niet zeker of het werkt maar voeg dit eens boven je echo:
Of nog in je loopje.
Of nog in je loopje.
Gewijzigd op 11/05/2013 23:38:28 door Keizer Webdesign
Rjk, kijk eens 2 berichten boven jouw bericht...
Ja maar dat zou volgens mij moeten werken...
Maar 't is niet de oplossing. Het is een handdoek om een lekkende kraan binden, het werkt wel, maar het probleem is niet opgelost
Voor html in xml het je CDATA
<![CDATA[<div>Div inhou</div>]]>
Je begint je html dus met <![CDATA[ en eindigt met ]]>
@R-J-K, dat is een lapmiddel en voor nu misschien genoeg maar dan gaat het de volgende keer weer fout.
<![CDATA[<div>Div inhou</div>]]>
Je begint je html dus met <![CDATA[ en eindigt met ]]>
@R-J-K, dat is een lapmiddel en voor nu misschien genoeg maar dan gaat het de volgende keer weer fout.
Ik heb het met CDATA geprobeerd maar nog steeds blijft hetzelfde probleem ik heb het nu zo staan:
Toevoeging op 12/05/2013 13:09:32:
Toevoeging op 12/05/2013 13:09:32:
Nadeem eijnden op 12/05/2013 13:08:47:
Ik heb het met CDATA geprobeerd maar nog steeds blijft hetzelfde probleem ik heb het nu zo staan:
zo ook geprobeerd:
maar heeft ook dezelde effect.
Code (php)
1
2
3
2
3
<?php
$rssfeed .= '<link><![CDATA[http://www.naatnasheed.com/naat.php?naat='.$rij['...'].'&khawan='.$rij['...'].']]></link>';
?>
$rssfeed .= '<link><![CDATA[http://www.naatnasheed.com/naat.php?naat='.$rij['...'].'&khawan='.$rij['...'].']]></link>';
?>
zo ook geprobeerd:
Code (php)
1
2
3
2
3
<?php
$rssfeed .= '<link><![CDATA[<a href="http://www.naatnasheed.com/naat.php?naat='.$rij['...'].'&khawan='.$rij['...'].'"/>]]></link>';
?>
$rssfeed .= '<link><![CDATA[<a href="http://www.naatnasheed.com/naat.php?naat='.$rij['...'].'&khawan='.$rij['...'].'"/>]]></link>';
?>
maar heeft ook dezelde effect.
Gewijzigd op 12/05/2013 13:12:50 door Nadeem eijnden
nee, daar moet je geen CDATA gebruiken.
Echo eens die 2 variabelen die je daar hebt, ik ben benieuwd of die wel de juiste waardes bevatten.
Echo eens die 2 variabelen die je daar hebt, ik ben benieuwd of die wel de juiste waardes bevatten.
jawel die bevatten de juiste waardes want ik haal ze uit de database de link is helemaal goed alleen staat er in plaats van %20 %2520 als 25 weghaalt dan gaat hij naar de juiste pagina dus alleen die 25 staat daar niet goed. naar deze link ga je als je op een link klikt in de feed http://naatnasheed.com/naat.php?naat=Jisay%2520mil%2520gaya%2520kamli%2520wale%2520ka%2520daman&khawan=Milad%2520Mustafa%2520Raza%2520Qadri
en als je de 25 weg haalt gaat hij naar de goede pagina.
En waar zou ik die CDATA moeten gebruiken?
en als je de 25 weg haalt gaat hij naar de goede pagina.
En waar zou ik die CDATA moeten gebruiken?
heb je ze geechoed? Uit ervaring weet ik dat dat echt wel eens anders is dan je zou verwachten.
je ziet ze toch in de link :)
Maar dat is niet wat er uit de code komt die jij geeft. Want in je code staat & en in de URL is dit dus al vervangen door &. Ik verwacht daarom dat er misschien ook wel wat gebeurd als j %20 hebt. Dus kijk je eerst even wat die variabelen voor waarde hebben.
Daar heb je helemaal gelijk in ik heb ze nu geechoed. en ik zie niets verkeerds erin. check http://naatnasheed.com/feed.php dit zijn de twee variables: Variable 1: Jisay mil gaya kamli wale ka daman Variable 2:Milad Mustafa Raza Qadri




