Sozdaiblog.ru
Назад

Как исправить ошибку синтаксического анализа XML?

Опубликовано: 29.01.2013
Время на чтение: 8 мин
42
31

ошибка синтаксического анализа XML

Приветствую всех друзей и читателей – Sozdaiblog.ru!

Сегодня Вы узнаете, как грубым, но эффективным способом починить в WordPress RSS ленту и избавиться от надоедливой ошибки синтаксического анализа XML.

Я уверен, что многие  из Вас при нажатии на оранжево-полосатую кнопку ни один раз наблюдали следующую картину:

 

 

К сожалению, я тоже сталкивался с этим чудным багом.

В то время из-за своей неопытности мне пришлось полдня провисеть в Интернете, бегая от сайта к сайту, дабы найти лекарство от этой заразы.

По себе знаю, что когда в Интернете целенаправленно пытаешься найти необходимую информацию, то хрена лысого она попадается. Будешь сутками лазить в поисках решения, пока со злости не бросишь это занятие.

Но, я то парень упёртый и на одном из сайтов всё-таки разыскал своеобразный «бычий способ», но реально работающий.

Итак.

 

Уничтожение ошибки синтаксического анализа XML.

Чтобы исправить ошибку синтаксического анализа XML, нужно немного поковыряться в ядре движка.

 

 

В корневой папке Вашего сайта необходимо найти каталог «wp-includes». В этом каталоге нам потребуется подкорректировать  следующие файлы:

 

1. feed-atom-comments.php

2. feed-atom.php

3. feed-rdf.php

4. feed-rss.php

5. feed-rss2-comments.php

6. feed-rss2.php

 

В первых двух файлах нужно удалить всё, что находится до блока:

 

<feed
        xmlns="http://www.w3.org/2005/Atom"
        xml:lang="<?php bloginfo_rss( 'language' ); ?>"
        xmlns:thr="http://purl.org/syndication/thread/1.0"
        <?php do_action('atom_ns'); do_action('atom_comments_ns'); ?>
>

 

В третьем до:

 


<rdf:RDF
        xmlns="http://purl.org/rss/1.0/"
        xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
        xmlns:admin="http://webns.net/mvcb/"
        xmlns:content="http://purl.org/rss/1.0/modules/content/"
        <?php do_action('rdf_ns'); ?>
>

 

У четвёртого отсекаем все строчки до:

 

<rss version="0.92">

 

А у пятого и шестого до:

 

<rss version="2.0"
        xmlns:content="http://purl.org/rss/1.0/modules/content/"
        xmlns:dc="http://purl.org/dc/elements/1.1/"
        xmlns:atom="http://www.w3.org/2005/Atom"
        xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
        <?php do_action('rss2_ns'); do_action('rss2_comments_ns'); ?>
        >

 

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

Закончив все действия, не забудьте сохраниться.

Спустя некоторое время Ваша RSS лента чудесным образом заработает.

Единственная загвоздка в том, что при обновлении WordPress придётся пройти эту процедуру заново. На самом деле это просто и займёт 5-10 минут Вашего времени.

Если у Вас есть другие решения этой проблемы, буду очень рад увидеть их в комментариях.

На сегодня это всё. До скорых встреч…

 

С уважением, Денис Черников!

Поделиться
Похожие записи
Комментарии:
  • Сергей Медведев
    Опубликовано: 29.01.2013 Ответить на сообщение

    Спасибо Денис, за статью!
    У меня такого бага не было, может и не будет, но если будет то теперь уже точно знаю, где искать информацию!

    • Денис Черников
      Опубликовано: 29.01.2013 Ответить на сообщение

      Пожалуйста, Сергей! Лучше, чтобы он не появлялся.

  • Ирина
    Опубликовано: 29.01.2013 Ответить на сообщение

    Недавно сталкивалась лично, как говорят «лицом к лицу».
    В моем случае весь фид ломал плагин, который конфликтовал не только с фидом, но и с большей частью сайта. В моем случае, пришлось полностью удалить сам плагин, что бы нормализовать работу сайта и фид-ленты, т.к. редактирование файлов и удаление пустых строк не помогало. Пришлось искать альтернативу данному плагину.

    • Денис Черников
      Опубликовано: 29.01.2013 Ответить на сообщение

      Как бы плачевно это не звучало, но при использовании плагинов случается не только такое, у меня пол сайта один раз развалилось!

  • Алексей Виноградов
    Опубликовано: 29.01.2013 Ответить на сообщение

    Первый раз слышу о подобной проблеме. А в каких случаях она появляется?

    • Денис Черников
      Опубликовано: 29.01.2013 Ответить на сообщение

      Когда на кнопку нажимаете, тогда и появляется! Обычно после обновления.

  • Василий
    Опубликовано: 29.01.2013 Ответить на сообщение

    Такой баг есть у меня в разных браузерах, кроме Mozilla Firefox. В нем все нормально, поэтому, я некоторое время даже не подозревал об этом.

    • Денис Черников
      Опубликовано: 29.01.2013 Ответить на сообщение

      Пришло самое время это исправить!

  • Таисия
    Опубликовано: 30.01.2013 Ответить на сообщение

    Денис, а о какой кнопке вы говорите, а то я думала, что это увидишь если проверяешь сайт на каком-нибудь сервисе.

    • Денис Черников
      Опубликовано: 30.01.2013 Ответить на сообщение

      Кнопка подписки на новостную ленту! У меня в подвале блога такая стоит.

  • Андрей Бас
    Опубликовано: 31.01.2013 Ответить на сообщение

    Не приходилось сталкиваться, буду иметь ввиду. Спасибо.

    • Денис Черников
      Опубликовано: 31.01.2013 Ответить на сообщение

      Это хорошо, что не сталкивались. Может пронесёт!

  • Николай
    Опубликовано: 31.01.2013 Ответить на сообщение

    Спасибо! Пока не сталкивался с такой проблемой, но теперь знаю где искать лечение в случае чего

    • Денис Черников
      Опубликовано: 31.01.2013 Ответить на сообщение

      Пожалуйста, Николай! Буду рад видеть Вас снова!

  • Ирина
    Опубликовано: 03.02.2013 Ответить на сообщение

    У меня похоже вот как раз такой глюк... Не хочется лезть, конечно, с моим нулем знаний в коды, но, похоже, другого варианта нету. Спасибо большое за информацию! Отлажу — обязательно отпишусь! (Интересно, у меня из-за этого вместо «последней статьи» комментарии выходят?)

    • Денис Черников
      Опубликовано: 03.02.2013 Ответить на сообщение

      Пожалуйста, Ирина! Пробовать всё равно нужно, иначе никак.

  • Татьяна
    Опубликовано: 10.02.2013 Ответить на сообщение

    Денис, спасибо большое! Обратилась за помощью, ответил моментально! Сохраняю статью в закладки, помогло, даже ждать не пришлось! Заработало! Тьфу-тьфу, чтоб не сглазить...

    • Денис Черников
      Опубликовано: 10.02.2013 Ответить на сообщение

      Пожалуйста, Татьяна! Рад был помочь! Обращайтесь.

  • Надежда Пинчук
    Опубликовано: 13.02.2013 Ответить на сообщение

    Спасибо за подробные инструкции, попробую внести корретивы

    • Денис Черников
      Опубликовано: 13.02.2013 Ответить на сообщение

      Пожалуйста, Надежда! Только будьте осторожней.

      • Надежда Пинчук
        Опубликовано: 15.02.2013 Ответить на сообщение

        Cделала все по вашим инструкциям.Все оказалось просто, теперь жду результата

        • Денис Черников
          Опубликовано: 16.02.2013 Ответить на сообщение

          Они обязательно будут!

  • Сергей Москвитин
    Опубликовано: 19.02.2013 Ответить на сообщение

    Приветствую тебя Денис и всех остальных!
    Я все таки эту ошибку которая указана на картинке в статье Дениса исправил.
    Но начну по порядку.
    Все сделал, что советовал Денис в статье но ничего не помогло.
    Потом нашел еще несколько советов в интернете, предлагалось заменить несколько файлов движка. Заменил, опять не помогло.
    Прям как в детективе.
    Обновил движок новыми файлами-опять не помогло.
    Отключил все плагины все было по прежнему.
    Да движок у меня стоял самой последней версии.
    Затем прочел на одном сайте специалиста по WordPress совет, о том, что если появляются глюки необходимо прежде всего попробовать откатится на раннюю версию и посмотреть.
    Я подумал и откатился на версию 3.4.2. И знаете все сразу заработало. Даже очень замечательно.
    И мне даже показалось, что блог даже шустрее стал работать.
    Вот такая у меня для Вас история в дополнение к статье Дениса.
    Думаю написать статью как я исправлял эту ошибку может кому то поможет.

    • Денис Черников
      Опубликовано: 19.02.2013 Ответить на сообщение

      Получается, что в версии WordPress 3.5 непобедимый глук? Но к примеру у меня он побеждён именно так, как я описал в статье. Получается Вы не решили проблему, а просто пробэкапили свой сайт.
      Что-то Вы упустили, Сергей! Этот хак всегда помогал, но должно пройти некоторое время. Лента не сразу восстанавливается (хотя, у кого как). А Вы наверное сразу откатились не переждав денёк.

  • Сергей Москвитин
    Опубликовано: 19.02.2013 Ответить на сообщение

    Денис я полностью все файлы перешерстил но проблема осталась. Я даже их менял на новые с чистой архивной системы.
    А окатился я только сегодня ночью.
    Ждал очень долго и пробовал разные варианты. Но не помогло. Где то проблема сидела глубоко. Я просто вспомнил, что у меня все нормально работало еще на 3.4.2. А на 3.5 я не пробовал, попробовал только на 3.5.1. Специалист по вордпрес сказал, что глюки есть в самой 3.5. Может они и перешли в 3.5.1. Хотя я полностью все файлы менял. Я те же файлы поменял и на 3.4.2 и все заработало замечательно.

    • Денис Черников
      Опубликовано: 19.02.2013 Ответить на сообщение

      Не расстраивайтесь такое бывает. Версия 3.4.2 актуальная на сегодняшний день, поэтому, работайте и не бойтесь ни каких напастей.

  • Ирина
    Опубликовано: 07.04.2013 Ответить на сообщение

    Хм... Если бы кто-нибудь меня видел, как я корректировала эти файлы... Жуть... до сих пор мурашки бегают. Правда я пошла хитрым путем, без всяких Файзила, Денверов и пр. Но вроде бы все закачала.
    Денис, т.е. должно заработать не сразу, а через несколько дней?
    Да, и еще один момент.
    (нужно же сначала внутри поковыряться, а потом спрашивать, да? чисто женская логика)
    у меня выдает вот такую ошибку «... but your computer or network may be sending automated queries. To protect our users, we can't process your request right now.».
    эта корректировка поможет?

    • Денис Черников
      Опубликовано: 07.04.2013 Ответить на сообщение

      Ирина, а где Вы это корректируете? На локальном сервере?

  • Ирина
    Опубликовано: 07.04.2013 Ответить на сообщение

    Нет, просто я на хостинге скопировала эти файлы в папку на рабочий стол — ОБРАЗЕЦ (если что — там будут неторонутые исходники, чтобы подстраховаться). Потом скопировала эту всю папку как РЕМОНТ, открыла файлы через Notepad, откорректировала, сохранила и закинула в сайт снова. и все.
    А что?
    //Ну лень мне разбираться с файзилой, денвером и прочим зоопарком... вроде и надо, а лень...//

    • Денис Черников
      Опубликовано: 07.04.2013 Ответить на сообщение

      Знаете, Ирина! Дело в том, что при работе с кодами в компьютере иногда сбиваются кодировки и из-за этого могут быть проблемы. При работе с кодами всегда проверяйте кодировку UTF-8 очень часто именно она бывает камнем преткновения.

  • Ирина
    Опубликовано: 07.04.2013 Ответить на сообщение

    Денис, точно. Я что-то упустила этот момент... А в Notepad есть UTF без BOM, а есть просто UTF. Какую использовать правильно?

    • Денис Черников
      Опубликовано: 07.04.2013 Ответить на сообщение

      Просто UTF!

  • Ирина
    Опубликовано: 07.04.2013 Ответить на сообщение

    Ок, спасибо большое.
    А вот такая ошибка «... but your computer or network may be sending automated queries. To protect our users, we can't process your request right now.» что значит?
    вроде как ругается, что с сайта идут какие-то автоматические отправки, и для безопасности не могут подключить...
    Перерыла весь инте, но нигде не нашла описания этой ошибки. Что это может быть?

    • Денис Черников
      Опубликовано: 07.04.2013 Ответить на сообщение

      Если Вы используете браузер мозилу удалите все плагины и расширения, сделайте перезагрузку и ещё раз попробуйте.

      • Ирина
        Опубликовано: 07.04.2013 Ответить на сообщение

        неее... там такое с самого начала было, скорее всего что-то в теме.

        • Денис Черников
          Опубликовано: 07.04.2013 Ответить на сообщение

          Тогда, разбирайтесь!

  • Константин
    Опубликовано: 10.07.2013 Ответить на сообщение

    Сделал все как написано было. Теперь в ленте открывается страница с новостями и вместо букв непонятный набор символов. Как это исправить?
    Покажу наглядно по скайп: vikons79 Если интересно будет...

    • Денис Черников
      Опубликовано: 10.07.2013 Ответить на сообщение

      Константин! У всех это работает! У меня больше года это тоже работает! А у Вас нет!!! Значит Вы где-то накосячили!

      • Константин
        Опубликовано: 10.07.2013 Ответить на сообщение

        Нет, всё работает. но что-то части темы поползли из-за этого)
        У меня не такая ошибка была. Там просто до этого вообще html код открывался и всё. Теперь работает, но вот такая проблема возникла в результате.

        • Денис Черников
          Опубликовано: 10.07.2013 Ответить на сообщение

          Ищите ошибки!

          • Константин
            Опубликовано: 10.07.2013 Ответить на сообщение

            Денис, а у вас есть статья по редактированию, или изменению скаченных шаблонов? Если есть, дайте ссылку плз...

          • Денис Черников
            Опубликовано: 10.07.2013 Ответить на сообщение

            У меня есть по созданию, установке и чистки от левых ссылок! Через поиск ро сайту ищите!

Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.