Edit report at https://bugs.php.net/bug.php?id=63853&edit=1
ID: 63853 Comment by: mail+php at requinix dot net Reported by: sachinpkaushik at gmail dot com Summary: Some of the urls are not added in $url->addchild("loc",$mainurl); Status: Open Type: Bug Package: DOM XML related Operating System: Fedora Linux PHP Version: 5.4.10 Block user comment: N Private report: N New Comment: Given a modified version of your script where $mainurl is explicitly set to the URL you give (in UTF-8) I get the expected XML. It seems $venueArray has only the one item otherwise you would have discovered a large bug in your code. Are you sure $venueArray and $mainurl have the values you expect? You need to debug your script, and if you discover a real bug in PHP itself while doing so then you can (re)open a bug report with more specific information and something we can actually use to reproduce the problem. Also, this is not the place to get help with your code. Find an online forum or mailing list to ask for assistance. That lets the PHP devs focus on bugs and gives you the personalized feedback you may need. Previous Comments: ------------------------------------------------------------------------ [2012-12-26 05:20:40] sachinpkaushik at gmail dot com Description: ------------ I am trying to generate xml file for sitemap for google tracking of my site url. I have a php file with the code mentioned(Please refer the code sent) which I am running on the command line with no arguments. The code retrieves value in an array $venueArrayfrom the value recieved from the function $venue->getAll() There is a foreach loop which retrieves the value from the array '$venueArray'. In the foreach loop I have added a code to fetch url from array '$venueArray' element 'id':- $mainurl =$venue->getUrl(array("venueId"=>$venueD['id'])); and puts it in the xml tags with the help of the code $url->addchild("loc",$mainurl); and then the contents are appended in the file. It seems that some of the urls are not added (url for example: http://mysite.com/dresden/769112-venue-theater-wechselbad-groÃer-saal) in the following code intended to add urls:- $url->addchild("loc",$mainurl); Please provide me with the solution to my problem as soon as possible and also please let me know the changes which I should do in order to get urls in my xml file. Some of the urls are not added in $url->addchild("loc",$mainurl); Test script: --------------- <?php /** some of the urls are not added in $url->addchild("loc",$mainurl); **/ $xmltext = "<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"no\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\"></urlset>"; $xmlobj = simplexml_load_string($xmltext); /** Code to retrieve venue array **/ $venue = new record(); $venueArray=$venue->getAll(); /** End of the Code to retrieve venue array **/ foreach($venueArray as $venueD){ /** Code to retrieve Url from venue array **/ $mainurl =$venue->getUrl(array("venueId"=>$venueD['id'])); /** Example of the url generated http://mysite.com/dresden/769112-venue-theater-wechselbad-groÃer-saal **/ $url= $xmlobj->addChild("url"); $url->addchild("loc",$mainurl); $url->addChild("lastmod",date('Y-m-d')); $url->addChild("changefreq","daily"); $url->addChild("priority","0.9"); $fp=fopen('test.xml',"a"); fwrite($fp,$xmlobj->asXML()); fclose($fp); } ?> Expected result: ---------------- <?xml version="1.0" encoding="UTF-8" standalone="no"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc>http://mysite.com/dresden/769112-venue-theater-wechselbad-groÃer- saal</loc> <lastmod>2012-12-21</lastmod> <changefreq>daily</changefreq> <priority>0.9</priority> </url> </urlset> Actual result: -------------- <?xml version="1.0" encoding="UTF-8" standalone="no"?> <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <url> <loc/> <lastmod>2012-12-21</lastmod> <changefreq>daily</changefreq> <priority>0.9</priority> </url> </urlset> ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=63853&edit=1