Xml неизвестная ошибка

Hi i have made this xml file but it is throwing some error : Incorrect line ending: found carriage return (\r) without corresponding newline (\n)

Here is my XML file :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <ImageView

            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:src="@drawable/help_new_session" 
            android:layout_above="@+id/buttonHideNewSessionHelp" 
            />




        <Button
            android:id="@+id/buttonHideNewSessionHelp"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:onClick="onButtonClick"
            android:text="Hide" />

    </RelativeLayout>

</LinearLayout>

  • android
  • performance
  • android-layout

asked Sep 4, 2013 at 6:00

Rahul Sharma's user avatar

Rahul SharmaRahul Sharma

1031 gold badge1 silver badge6 bronze badges

3

  • you don’t need a linear layout you can simply use a single relative layout

    Sep 4, 2013 at 6:04

  • have u got the solution ??

    Sep 4, 2013 at 6:22

2 Answers

The below process will resolve your issue.

  1. Open layout file
  2. Ctrl+Shift+F
  3. Save the layout file and close it.
  4. Delete any .out files the builder might have created(you can see .out files below the original layout file).
  5. Clean project.

answered Sep 4, 2013 at 6:03

Avadhani Y's user avatar

Avadhani YAvadhani Y

7,56619 gold badges64 silver badges90 bronze badges

1

  • I think i found the fix of the problem , there was no error in my xml file . It was some eclipse reading error . Any time you get such an error just press the Combination Ctrl + 1 , and it gives you the option to fix this error automatically , it worked :)

    Sep 4, 2013 at 7:09

Try this layout Now

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
        <ImageView
            android:id="@+id/imageView1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:src="@drawable/help_new_session" 
            android:layout_above="@+id/buttonHideNewSessionHelp"/>
        <Button
            android:id="@+id/buttonHideNewSessionHelp"
            style="?android:attr/buttonStyleSmall"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:onClick="onButtonClick"
            android:text="Hide" />
    </RelativeLayout>

</LinearLayout>

It is looking perfect

answered Sep 4, 2013 at 6:03

Developer's user avatar

DeveloperDeveloper

6,29019 gold badges55 silver badges114 bronze badges

Материал из Planfix

Перейти к: навигация, поиск

Если при выполнении запроса произошла ошибка, сервер отвечает в следующем формате:

<?xml version="1.0" encoding="UTF-8"?>
<response status="error">
  <code></code>
</response>
Название Тип Значение Примечание
code string(4) 4-х значное число, может начинаться с нуля, код ошибки.

Без классификации

  • 0001 — Неверный API Key
  • 0002 — Приложение заблокировано
  • 0003 — Ошибка XML разбора. Некорректный XML
  • 0004 — Неизвестный аккаунт
  • 0005 — Ключ сессии недействителен (время жизни сессии истекло)
  • 0006 — Неверная подпись
  • 0007 — Превышен лимит использования ресурсов (превышено максимальное количество запросов в сутки)
  • 0008 — Неизвестное имя функции
  • 0009 — Отсутствует один из обязательных параметров функции
  • 0010 — Аккаунт заморожен
  • 0011 — На площадке аккаунта производится обновление программного обеспечения
  • 0012 — Ошибка авторизации: при авторизаци по логину и паролю — отсутствует сессия, не передан параметр сессии в запрос; при авторизации по токену — переданный токен не существует
  • 0013 — Неопределенный пользователь
  • 0014 — Пользователь неактивен
  • 0015 — Недопустимое значение параметра
  • 0016 — В данном контексте параметр не может принимать переданное значение
  • 0017 — Отсутствует значение для зависящего параметра
  • 0018 — Функции/функционал не реализована
  • 0019 — Заданы конфликтующие между собой параметры
  • 0020 — Вызов функции запрещен
  • 0021 — Запрошенное количество объектов больше максимально разрешенного для данной функции
  • 0022 — Использование API недоступно для бесплатного аккаунта
  • 0023 — Запрошенное действие невозможно в рамках текущего тарифного плана аккаунта
  • 0024 — Аккаунт расположен в другом датацентре, проверьте url запроса
  • 0101 — Запрошенный объект не существует
  • 0102 — Ошибка добавления
  • 0103 — Ошибка обновления
  • 0104 — Доступ к данным запрещен
  • 0105 — Нет права на редактирование объекта

Аутентификация

  • 1001 — Неверный логин или пароль
  • 1002 — На выполнение данного запроса отсутствуют права (привилегии)

Проект

  • 2001 — Запрошенный проект не существует
  • 2002 — На выполнение данного запроса отсутствуют права (привилегии)
  • 2003 — Ошибка добавления проекта

Задача

  • 3001 — Указанная задача (или другой запрашиваемый объект) не существует
  • 3002 — Нет доступа к над задаче
  • 3003 — Проект, в рамках которого создается задача, не существует
  • 3004 — Проект, в рамках которого создается задача, не доступен
  • 3005 — Ошибка добавления задачи
  • 3006 — Время «Приступить к работе» не может быть больше времени «Закончить работу до»
  • 3007 — Неопределенная периодичность, скорее всего задано несколько узлов, которые конфликтуют друг с другом или не указан ни один
  • 3008 — Нет доступа к задаче
  • 3009 — Нет доступа на изменение данных задачи
  • 3010 — Данную задачу отклонить нельзя (скорее всего, она уже принята этим пользователем)
  • 3011 — Данную задачу принять нельзя (скорее всего, она уже принята этим пользователем)
  • 3012 — Пользователь, выполняющий запрос, не является исполнителем задачи
  • 3013 — Задача не принята (для выполнения данной функции задача должна быть принята)
  • 3014 — Задача в процессе изменения (сценарием или другим API запросом). Повторите запрос через некоторое время.

Действие

  • 4001 — На выполнение данного запроса отсутствуют права (привилегии)
  • 4002 — Действие не существует
  • 4003 — Ошибка добавления действия
  • 4004 — Ошибка обновления данных
  • 4005 — Ошибка обновления данных
  • 4006 — Попытка изменить статус на недозволенный
  • 4007 — В данном действии запрещено менять статус
  • 4008 — Доступ к комментария/действию отсутствует
  • 4009 — Доступ к задаче отсутствует
  • 4010 — Указанная аналитика не существует
  • 4011 — Для аналитики были переданы не все поля
  • 4012 — Указан несуществующий параметр для аналитики
  • 4013 — Переданные данные не соответствуют типу поля
  • 4014 — Указанный ключ справочника нельзя использовать
  • 4015 — Указанный ключ справочника не существует
  • 4016 — Указанный ключ данных поля не принадлежит указанной аналитике

Группа пользователей

  • 5001 — Указанная группа пользователей не существует
  • 5002 — На выполнение данного запроса отсутствуют права (привилегии)
  • 5003 — Ошибка добавления

Сотрудники

  • 6001 — На выполнение данного запроса отсутствуют права (привилегии)
  • 6002 — Данный e-mail уже используется
  • 6003 — Ошибка добавления сотрудника
  • 6004 — Пользователь не существует
  • 6005 — Ошибка обновления данных
  • 6006 — Указан идентификатор несуществующей группы пользователей

Контрагенты

  • 7001 — На выполнение данного запроса отсутствуют права (привилегии)
  • 7002 — Клиент не существует
  • 7003 — Ошибка добавления клиента
  • 7004 — Ошибка обновления данных

Контакты

  • 8001 — На выполнение данного запроса отсутствуют права (привилегии)
  • 8002 — Контакт не существует
  • 8003 — Ошибка добавления контакта
  • 8004 — Ошибка обновления данных
  • 8005 — Контакт не активировал доступ в ПланФикс
  • 8006 — Контакту не предоставлен доступ в ПланФикс
  • 8007 — E-mail, указанный для логина, не уникален
  • 8008 — Попытка установки пароля для контакта, не активировавшего доступ в ПланФикс
  • 8009 — Ошибка обновления данных для входа в систему
  • 8010 — Указан некорректный e-mail адрес

Файл

  • 9001 — На выполнение данного запроса отсутствуют права (привилегии)
  • 9002 — Запрашиваемый файл не существует
  • 9003 — Ошибка загрузки файла
  • 9004 — Попытка загрузить пустой список файлов
  • 9005 — Недопустимый символ в имени файла
  • 9006 — Имя файла не уникально
  • 9007 — Ошибка файловой системы
  • 9008 — Ошибка возникает при попытке добавить файл из проекта для проекта
  • 9009 — Файл, который пытаются добавить к задаче, является файлом другого проекта

Аналитика

  • 10001 — На выполнение данного запроса отсутствуют права (привилегии)
  • 10002 — Аналитика не существует
  • 10003 — Переданный параметр группы аналитики не существует
  • 10004 — Переданный параметр справочника аналитики не существует

Перейти

  • Введение
  • Список функций
  • Список используемых типов данных

А началось все довольно безобидно. Позвонил старый клиент у которого уже года 2-3 работает магазин в связке с 1С и пожаловался что обмен перестал работать. Полез я к нему в 1С и вижу, что обмен действительно падает причем с разными ошибками и на разных файлах.

Первое что сделали — перешли на более мощный тариф хостинга. Половина зоопарка ошибок исчезла. Однако ошибка

Выгрузка на сайт завершилась с ошибками.
import.xml: Произошла ошибка на стороне сервера. Получен неизвестный статус импорта.
Неверный тип файла, либо превышен максимальный размер файла

осталась и уходить не собиралась.

Пробовали выгружать и на тиражный магазин и на VDS на который другая 1С прекрасно все грузит — везде одна и та же ошибка.

В итоге обратились в поддержку Битрикса. Судя по оперативности и точности ответов поддержка знает о проблеме. А суть ответов была в следующем: поддержка вставила отладочную печать и попросила сделать выгрузку.
По результатам выгрузки в консоли 1С появилась отладочная информация вида

отладочная информация в консоли 1С

Отсюда можно видеть, что одна из картинок имеет mimetype: application/octet-stream (т.е. двоичные данные вместо структурированных).
Далее по названию картинки вычисляем (например, можно в import.xml поискать по названию картинки) нехороший товар, пересохраняем его картинку в любом графическом редакторе и все работает.

Кому интересно — вся отладка заключается в изменении файла /bitrix/modules/main/classes/general/file.php:
после каждого вызова

return GetMessage("FILE_BAD_TYPE");

нужно вставить

print_r($arFile);

Попросил поддержку исправить этот баг в импорте, но мы то с вами знаем сколько такие неважные исправления могут делаться. Поэтому я просто оставлю это сообщение здесь. Возможно кому-то поможет сэкономить время.

Содержание:

1.       XML – расширяемый язык разметки

2.       Устранение Ошибки разбора XML в 1С

3.       «Обход» Ошибки разбора XML в 1С   

1.    XML – расширяемый язык разметки

В данной статье речь пойдёт о причинах возникновения фатальной ошибки «Ошибка разбора XML» и способах устранения данной неполадки. Также будет дана инструкция не по устранению, но «обходу» ошибки, то есть действиям на опережение.

XML (с английского – extensible markup language – расширяемый язык разметки) – это язык разметки, который рекомендует Консорциум Всемирной паутины. Обычно язык разметки XML служит для описания документации, соответствующего типа, а также описывает действия соответствующих процессоров. Расширяемый язык разметки имеет довольно простой синтаксис, поэтому используется по всему миру, чтобы создавать и обрабатывать документацию программным способом. Он создавался именно для использования в Интернете. XML назвали именно расширяемым языком разметки, так как в нём нет фиксации разметки, которая содержится внутри документа, а именно: программист может создавать любую разметку, а ограничения будут встречаться лишь в синтаксисе.

2.    Устранение Ошибки разбора XML в 1С

«Ошибка разбора XML» возникает исключительно в тонком клиенте 1С. Также стоит отметить, что «Ошибка разбора XML» также довольна схожа с ошибкой по формату потока, которая возникает в толстом клиенте. Обычно в 1С «Ошибка разбора XML» возникает по причине наличия кэша метаданных. И если очистить кэш, то ошибка будет устранена. Выглядит окно с ошибкой, а также окно с комментариями от технической поддержки следующим образом:

Рис. 1 Окно Ошибки разбора XML в 1С

XML данные читаются по потокам, так что в каждый из моментов времени объект «сосредоточен» в некотором узле XML. Из-за этого также может возникать фатальная ошибка «Ошибка разбора XML». Для того чтобы её устранить, можно вызвать функцию «ИсключениеЧтенияXml», как показано на скриншоте примера ниже:

Рис. 2 Вызов функции ИсключениеЧтенияXML для устранения Ошибки разбора XML в 1С  

3.    «Обход» Ошибки разбора XML в 1С

Данные два способа (очистка кэша метаданных и функция «ИсключениеЧтенияXml») – не все возможные варианты устранения ошибки разбора XML. Далее рассмотрим нестандартный подход, который позволит избежать ошибки еще до её возникновения.

Для наглядности будем работать в конфигурации 1С:Бухгалтерия предприятия, одной из наиболее распространенных программ фирмы 1С. У многих людей, которые пользуются программой 1С:Отчётность появляются неполадки при попытках открыть данные/файлы от налоговой. Чтобы открыть такой файл повторяем следующие действия:

·        Переходим по пути: «Настройки 1С:Отчётности → Журнал обмена с контролирующими органами», как показано на скриншоте ниже:

Рис. 3 Настройка 1С Отчетности

·        Далее кликаем на «Запросы» и выделяем ту выписку, которую не было возможности открыть из-за ошибки, как продемонстрировано на скриншоте ниже:

Рис. 4 Выбор выписки с Ошибкой разбора XML в 1С

·        Обращаем внимание на стадию отправки, которая располагается внизу этого сообщения, и кликаем два раза на зелёный круг:

Рис. 5 Стадия отправки документа с Ошибкой разбора XML в 1С

·      Появляется транспортное сообщение, в нём кликаем на «Выгрузить» и выбираем папку, куда необходимо провести выгрузку, после чего сохраняем данный файл. Пробуем открыть его, при помощи любого из графических редакторов, который может поддерживать формат PDF, как показано на скриншоте ниже:

Рис. 6 Результат обхода Ошибки разбора XML в 1С

·        Всё успешно открылось, а ошибка даже не успела возникнуть.

Специалист компании «Кодерлайн»

Айдар Фархутдинов

  • Remove From My Forums
  • Question

  • User837036733 posted

    I’m trying to Deserialize xml coming from an HttpWebResponse.

    At the point of Deserializatoin, I get «There is an error in XML document (0, 0).»

    Here’s my code to take the response and try shoving the stream into an XmlReader:

            public static XmlReader GetResponseXmlReader(HttpWebResponse response)
            {
                Stream dataStream = null; // stream from WebResponse
    
                // Get the response stream
                dataStream = response.GetResponseStream();
    
                XmlReader xmlReader = XmlReader.Create(dataStream);
    
                if (xmlReader == null)
                {
                    throw new NullReferenceException("The XmlReader is null");
                }
    
                return xmlReader;
            }
    The xmlReader is then sent to my Deserialization Method:
        public class Serializer
    {
    public static List<Album> CreateAlbumFromXMLDoc(XmlReader reader)
    {
    // Create an instance of a serializer var serializer = new XmlSerializer(typeof(Album));

    GetAlbumsResponse album = (GetAlbumsResponse)serializer.Deserialize(reader);

    return album.Albums;
    }
    }

     When I look at the reader, I believe it doesn't have any xml data...I think.  I mean it appears as though it does not.

    There is definitely a valid Xml Doc in the response and here it is:

    <?xml version="1.0" encoding="UTF-8"?>
    <photos_GetAlbums_response xmlns="http://api.xxx.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.xxx.com/1.0/ http://api.xxx.com/1.0/xxx.xsd" list="true">
      <album>
        <aid>7321990241086938677</aid>
        <cover_pid>7031990241087042549</cover_pid>
        <owner>1124262814</owner>
        <name>Album Test 1</name>
        <created>1233469624</created>
        <modified>1233469942</modified>
        <description>Our trip</description>
        <location>CA</location>
        <link>http://www.xxx.com/album.php?aid=7733&id=1124262814</link>
        <size>48</size>
        <visible>friends</visible>
      </album>
      <album>
        <aid>231990241086936240</aid>
        <cover_pid>7042330241087005994</cover_pid>
        <owner>1124262814</owner>
        <name>Album Test 2</name>
        <created>1230437805</created>
        <modified>1233460690</modified>
        <description />
        <location />
        <link>http://www.xxx.com/album.php?aid=5296&id=1124262814</link>
        <size>34</size>
        <visible>everyone</visible>
      </album>
      <album>
        <aid>70319423341086937544</aid>
        <cover_pid>7032390241087026027</cover_pid>
        <owner>1124262814</owner>
        <name>Album Test 3</name>
        <created>1231984989</created>
        <modified>1233460349</modified>
        <description />
        <location />
        <link>http://www.xxx.com/album.php?aid=6600&id=1124262814</link>
        <size>3</size>
        <visible>friends</visible>
      </album>
      <album>
        <aid>703153403241086936188</aid>
        <cover_pid>7031993241087005114</cover_pid>
        <owner>1124262814</owner>
        <name>Album Test 4</name>
        <created>1230361978</created>
        <modified>1230362306</modified>
        <description>My Album</description>
        <location />
        <link>http://www.xxx.com/album.php?aid=5244&id=1124262814</link>
        <size>50</size>
        <visible>friends</visible>
      </album>
      <album>
        <aid>70313434232086935881</aid>
        <cover_pid>70319902323087001093</cover_pid>
        <owner>1124262814</owner>
        <name>Album Test 5</name>
        <created>1229889219</created>
        <modified>1229889235</modified>
        <description>MiscPics</description>
        <location />
        <link>http://www.xxx.com/album.php?aid=4937&id=1124262814</link>
        <size>1</size>
        <visible>friends-of-friends</visible>
      </album>
      <album>
        <aid>7031990234523935541</aid>
        <cover_pid>7031990231086996817</cover_pid>
        <owner>1124262814</owner>
        <name>Album Test 6</name>
        <created>1229460455</created>
        <modified>1229460475</modified>
        <description>this is a test album for work (xxx integration)</description>
        <location />
        <link>http://www.xxx.com/album.php?aid=4597&id=1124262814</link>
        <size>1</size>
        <visible>everyone</visible>
      </album>
      <album>
        <aid>703199043023935537</aid>
        <cover_pid>703199231086996795</cover_pid>
        <owner>1124262814</owner>
        <name>Album Test 7</name>
        <created>1229459168</created>
        <modified>1229459185</modified>
        <description>Testing</description>
        <location />
        <link>http://www.xxx.com/album.php?aid=4593&id=1124262814</link>
        <size>1</size>
        <visible>friends</visible>
      </album>
    </photos_GetAlbums_response>

      

     

Answers

  • User837036733 posted

     Martin, in regards to your statement that you can just pass in a stream, what type?

    I got it working but only with an XmlNodeReader.  When I pass in a Stream or StreamReader, I continually get:

     «There is an error in XML document (0, 0).»

     {«Root element is missing.»}

    and it’s the same HttpWebResponse.  Look at my code above in how I’m convering the response and the different types I tried in my General class.  Why wouldn’t my code work for Stream or StreamReader but would for XmlDoc?  I ended up finding
    out that the main probelm was I had typeOf wrong in my deserialization method.

    But I still want to figure out how I can get this working with a lighter solution like you said, just send the stream.

    Here’s how it works with my XmlDoc but ultimately using the XmlNodeReader to get this to work without error:

    public static List<Album> CreateAlbumFromXMLDoc(XmlDocument doc)
            {
                // Create an instance of a serializer
                var serializer = new XmlSerializer(typeof(GetAlbumsResponse));
                
                string xmlString = doc.OuterXml.ToString();
                XmlNodeReader reader = new XmlNodeReader(doc); 
    
                using (reader)
                {
                    GetAlbumsResponse album = (GetAlbumsResponse)serializer.Deserialize(reader);
                    return album.Albums;
                }
            }

    Now how can I get this to work with a direct stream?  Look at my General Stream overload and then how can I get it working in here?  Here’s what I tried but got that error mentioned above:

            public static List<Album> CreateAlbumFromXMLDoc(StreamReader streamReader)
            {
                // Create an instance of a serializer
                var serializer = new XmlSerializer(typeof(GetAlbumsResponse));
    
                GetAlbumsResponse album = (GetAlbumsResponse)serializer.Deserialize(streamReader);
    
                return album.Albums;
            }
    
            public static List<album> CreateAlbumFromXMLDoc(Stream stream)
            {
                // Create an instance of a serializer
                var serializer = new XmlSerializer(typeof(GetAlbumsResponse));
    
                GetAlbumsResponse album = (GetAlbumsResponse)serializer.Deserialize(stream);
    
                return album.Albums;
            }</album>

     

    • Marked as answer by

      Thursday, October 7, 2021 12:00 AM

  • User1835330922 posted

    Make sure you close the Stream and dispose of it by wrapping it into a using statement.

    • Marked as answer by
      Anonymous
      Thursday, October 7, 2021 12:00 AM

  • User1835330922 posted

     Martin, in regards to your statement that you can just pass in a stream, what type?

    I got it working but only with an XmlNodeReader.  When I pass in a Stream or StreamReader, I continually get:

     «There is an error in XML document (0, 0).»

     {«Root element is missing.»}

    and it’s the same HttpWebResponse. 

    Also note that you can’t consume the same response stream twice so if it is really the
    same HttpWebResponse then the error message is correct, the stream has been consumed to the end already and further attempts to read from it will not find anything, not even a root element.

    • Marked as answer by
      Anonymous
      Thursday, October 7, 2021 12:00 AM

Понравилась статья? Поделить с друзьями:
  • Xerox wc 5230 ошибка 010 327
  • Xmeye получение имени канала ошибка
  • Xerox wc 5021 ошибка 095 910
  • Xmeye ошибка 11303 пользователь заблокирован
  • Xerox wc 3550 ошибка двигателя lsu