<MyRusakov.ru />

Написание лайфхаков на Python

Написание лайфхаков на Python

Данный курс научит Вас автоматизировать самые разные задачи на языке Python, благодаря чему Вы сэкономите на рутине тысячи и тысячи часов своей жизни. Курс состоит из 20 примеров в различных областях: файлы и директории, медиа-файлы, Интернет, Web-мастеринг, Unreal Engine. Каждый пример упрощает ту или иную задачу в своей области, при этом каждый из них создаётся прямо на Ваших глазах и тщательно комментируется.

Помимо самих уроков Вы так же получаете и множество упражнений. По сути, Вы создадите свои собственные 20 небольших проектов, благодаря чему у Вас появится и практика, и портфолио.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Зачем Вы изучаете программирование/создание сайтов?

Форум сайта MyRusakov.ru

Неправильное добавление информации в xml путём dom
23.03.2012 00:38:18 Неправильное добавление информации в xml путём dom Сообщение #1
top1995

top1995

Новичок

Новичок

Дата регистрации:
29.03.2011 13:33:50

Сообщений: 5

Здравствуйте. Помогите пожалуйста с проблемой =)

При вызове этой функции:
function Create_sitemap(){
$xml = new DomDocument('1.0','utf-8');

$urlset_e = $xml->createElement('urlset');
$urlset_e->setAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');
$url_e = $xml->createElement('url');
$loc_e = $xml->createElement('loc');
$lastmod_e = $xml->createElement('lastmod');
$changefreq_e = $xml->createElement('changefreq');
$priority_e = $xml->createElement('loc');

$xml->appendChild($urlset_e);

$sql = mysql_query("SELECT id FROM `news`";
if(mysql_num_rows($sql) > 0)
while($res = mysql_fetch_assoc($sql)){
$url = $urlset_e->appendChild($url_e);
$loc = $url->appendChild($loc_e);
$loc->appendChild($xml->createTextNode('?id_news=' . $res['id']));
}

$xml->formatOutput = true;
$xml->save('sitemap.xml');
}

Создаётся файл с одержимым:
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>?id_news=2?id_news=3?id_news=4?id_news=5?id_news=6</loc>
</url>
</urlset>

Хотя, должно:
<?xml version="1.0" encoding="utf-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>?id_news=2</loc>
</url>
<url>
<loc>?id_news=3</loc>
</url>
<url>
<loc>?id_news=4</loc>
</url>
<url>
<loc>?id_news=5</loc>
</url>
<url>
<loc>?id_news=7</loc>
</url>
</urlset>

Почему??? И как это исправить???
Профиль Ответить
23.03.2012 14:35:29 Неправильное добавление информации в xml путём dom Сообщение #2
top1995

top1995

Новичок

Новичок

Дата регистрации:
29.03.2011 13:33:50

Сообщений: 5

Всё решил, вот правильная функция:
function Create_sitemap(){
$xml = new DomDocument('1.0','utf-8');

$urlset_e = $xml->createElement('urlset');
$urlset_e->setAttribute('xmlns', 'http://www.sitemaps.org/schemas/sitemap/0.9');

$xml->appendChild($urlset_e);

$sql = mysql_query("SELECT id FROM `news`";
if(mysql_num_rows($sql) > 0)
while($res = mysql_fetch_assoc($sql)){
$url = $urlset_e->appendChild($xml->createElement('url'));
$loc = $url->appendChild($xml->createElement('loc'));
$loc->appendChild($xml->createTextNode('?id_news=' . $res['id']));
}

$xml->formatOutput = true;
$xml->save('sitemap.xml');
}
Профиль Ответить
19.04.2012 16:28:47 Неправильное добавление информации в xml путём dom Сообщение #3
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Процедурный подход с ООП??? Смысл какой?
Профиль Ответить