rgb192
asked on
add priority(optional) to each line of input to alter output
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://www.example.com/</loc>
<lastmod>2013-10-20</lastmod>
<priority>0.9</priority>
</url>
<url>
<loc>http://www.example.com/catalog?item=12&desc=vacation_hawaii</loc>
<lastmod>2013-10-20</lastmod>
<priority>0.9</priority>
</url>
<url>
<loc>http://www.example.com/catalog?item=73&desc=vacation_new_zealand</loc>
<lastmod>2013-10-20</lastmod>
</url>
<url>
<loc>http://www.example.com/catalog?item=74&desc=vacation_newfoundland</loc>
<lastmod>2013-10-20</lastmod>
</url>
<url>
<loc>http://www.example.com/catalog?item=83&desc=vacation_usa</loc>
<lastmod>2013-10-20</lastmod>
</url>
</urlset>
I want the xml file in the code block to be the output
created by php
with the php input an array of urls comma priority (optional)
http://www.example.com/,0.9
http://www.example.com/catalog?item=12&desc=vacation_hawaii,0.9
http://www.example.com/catalog?item=73&desc=vacation_new_zealand
http://www.example.com/catalog?item=74&desc=vacation_newfoundland
http://www.example.com/catalog?item=83&desc=vacation_usa
this code works (but want to add priority (optional))
<?php // RAY_temp_rgb192.php
error_reporting(E_ALL);
echo '<pre>';
/** http://www.experts-exchange.com/Web_Development/Web_Languages-Standards/PHP/Q_28271756.html
with the php input an array of urls
http://www.example.com/
http://www.example.com/catalog?item=12&desc=vacation_hawaii
http://www.example.com/catalog?item=73&desc=vacation_new_zealand
http://www.example.com/catalog?item=74&desc=vacation_newfoundland
http://www.example.com/catalog?item=83&desc=vacation_usa
*/
$arr = array
( 'http://www.example.com/'
, 'http://www.example.com/catalog?item=12&desc=vacation_hawaii'
, 'http://www.example.com/catalog?item=73&desc=vacation_new_zealand'
, 'http://www.example.com/catalog?item=74&desc=vacation_newfoundland'
, 'http://www.example.com/catalog?item=83&desc=vacation_usa'
)
;
$xml = <<<EOD
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
EOD;
foreach ($arr as $url)
{
$xml
.= PHP_EOL
. '<url>' . PHP_EOL
. '<loc>' . $url . '</loc>' . PHP_EOL
. '<lastmod>' . date('Y-m-d') . '</lastmod>' . PHP_EOL
. '</url>'
;
}
$xml .= PHP_EOL . '</urlset>';
// TEST: IS IT A VALID XML DOCUMENT?
$obj = SimpleXML_Load_String($xml);
// SHOW THE WORK PRODUCT
echo htmlentities($xml);
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
>>If priority is omitted, put an empty tag into the XML document.
related question:
hide priority when not used
https://www.experts-exchange.com/questions/28280748/no-empty-priority-tag.html