|
|
|
|
|
для: cheops
(17.03.2012 в 19:27)
| | SimpleXMLElement::xpath() [simplexmlelement.xpath]: Invalid expression
Если я правильно понимаю начальный тег urlset отличается от конечного..., т.е <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> и </urlset>
Потому что когда я в файле делаю теги <urlset></urlset> и в скрипте foreach ($xml->xpath('/urlset/url') as $url) то все работает
Но нужно чтобы работало при <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">, но как исправить цикл - не могу понять.... | |
|
|
|
|
|
|
|
для: sega_z
(17.03.2012 в 19:01)
| | А в чем ошибка выражается? | |
|
|
|
|
|
|
|
для: cheops
(17.03.2012 в 18:50)
| | Нужно чтобы содержимое извлекалось из файла sitemap.xml (файл будет очень большим!)
Вроде нашел решение проблемы, но где то ошибка...
<?php
$xml = simplexml_load_file("sitemap.xml");
echo "<table border='1'>\n";
foreach ($xml->xpath('/urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"/url') as $url)
{ ?>
<tr>
<td><?php echo $url->loc; ?></td>
<td><?php echo $url->priority; ?></td>
</tr>
<?
}
echo "</table>\n";
?>
|
| |
|
|
|
|
|
|
|
для: sega_z
(17.03.2012 в 18:17)
| | Можно начать отталкиваться от следующего скрипта
<?php
$file = '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>text1</loc>
<priority>1.0</priority>
</url>
<url>
<loc>text2</loc>
<priority>0.8</priority>
</url>
</urlset>';
$pattern = "|<loc>(.+?)</loc>|is";
preg_match_all($pattern, $file, $out);
echo "<pre>";
print_r($out[1]);
echo "</pre>";
?>
|
| |
|
|
|
|
|
|
| Допустим есть файл sitemap.xml:
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>text1</loc>
<priority>1.0</priority>
</url>
<url>
<loc>text2</loc>
<priority>0.8</priority>
</url>
</urlset>
|
Подскажите, пожалуйста, как извлечь текст между тегами <loc></loc> и занести в массив? | |
|
|
|
|