Excel код ошибки 1072896760

  • Remove From My Forums
  • Question

  • Hi,

    I am using Msxml2.DOMDocument however I am getting a parseError of -1072896760. I can’t find this documented anywhere!

    the XML I am trying to parse is:

    <?xml version="1.0" encoding="utf-8" ?>
    <result status="1">
    <sale id="155913">
    <salecosts>
    <salecost name="handset" value=""/>
    <salecost name="delivery" value=""/>
    <salecost name="other" value=""/>
    </salecosts>
    <handset>
    <model id="1" name="1661-Black(+�60 cb)">
    <manufacturer id="1" name="Nokia"/>
    </model>
    </handset>
    <tariff rental="20" term="24" description="rent: 20.00 | term: 24 | mins: 100 | SMS: 500 | network: Vodafone">
    <network name="UK - VODAFONE" id="2" />
    </tariff>
    <user name="becky_sales" id="33105" />
    <delivery instructions=" ">
    <deliveryAddress add1="1 the road" add2="county" add3="" pcode="AB1 234"/>
    </delivery>
    <mobile number="00447123456789" id="29988151">
    <contactDetails>
    <address add1="1 the road" add2="county" add3="" pcode="AB1 234"/>
    <name saluation="Mrs " fname="BOB" sname="SMITH"/>
    <additionalNumbers>
    <additionalNumber name="Alternate" number=" "/>
    </additionalNumbers>
    </contactDetails>
    </mobile>
    </sale>
    </result>

    Regards,

    Chris V

    • Moved by

      Tuesday, February 22, 2011 2:13 AM
      (From:XML in Windows (MSXML and XmlLite))

Answers

  • You can use DomDocument.parseError.reason to find the description of this error code. I used the following code to parse your xml and there is no error.

    var doc = new ActiveXObject("Msxml2.DOMDocument");
    doc.validateOnParse = true;
    doc.async = false;
    doc.setProperty("ProhibitDTD", false);
    doc.resolveExternals = true;
    doc.load("test.xml");
    
    var error = doc.parseError;
    if (error.errorCode != 0){
    	WScript.Echo("Code: " + error.errorCode);
    	WScript.Echo("Reason: " + error.reason);
    	WScript.Echo("Line: " + error.line + " Pos: " + error.linepos);
    	WScript.Echo("Source: " + error.srcText);
    }
    else{
    	WScript.Echo("No Error");
    }

    I also believe the «<br/>» right next to <?xml … ?> is not part of the xml file.


    Shuhai Shen — http://leonax.net

    • Edited by
      Shuhai
      Wednesday, September 2, 2009 2:20 PM
      Add link
    • Marked as answer by
      venablc
      Wednesday, September 2, 2009 2:29 PM

Перейти к контенту

  • Remove From My Forums
  • Вопрос

  • Здравствуйте.

    Нужно распарсить ХМЛ файл, но файл с ошибкой. Как исправить ошибку, а затем парсить.

    Переписываать файл НЕЛЬЗЯ

    Использую такой код

    var xmlDoc = new ActiveXObject(«Microsoft.XMLDOM»);

     var readok = false;
     xmlDoc.async = «false»;
     readok = xmlDoc.load(programfolder + «client_state.xml»);

     if (readok){ здесь парсинг

    Но readok содержит ошибку -1072896760 — недопустимый символ. Это не ASCII символ. Так вот как его вібросить, а затем продолжить парсить.

    Спасибо

    • Перемещено

      6 июня 2011 г. 16:21
      (От:Windows 7)

Ответы

  • Тут все просто: ваш файл не является XML файлом. Пишете свой парсер под этот нестандартный формат или меняйте файл чтоб он был валидным XML.

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


    This posting is provided «AS IS» with no warranties, and confers no rights.

    • Помечено в качестве ответа
      Yuriy Lenchenkov
      8 июня 2011 г. 10:49
  • Remove From My Forums
  • Question

  • Hi,

    I am using Msxml2.DOMDocument however I am getting a parseError of -1072896760. I can’t find this documented anywhere!

    the XML I am trying to parse is:

    <?xml version="1.0" encoding="utf-8" ?>
    <result status="1">
    <sale id="155913">
    <salecosts>
    <salecost name="handset" value=""/>
    <salecost name="delivery" value=""/>
    <salecost name="other" value=""/>
    </salecosts>
    <handset>
    <model id="1" name="1661-Black(+�60 cb)">
    <manufacturer id="1" name="Nokia"/>
    </model>
    </handset>
    <tariff rental="20" term="24" description="rent: 20.00 | term: 24 | mins: 100 | SMS: 500 | network: Vodafone">
    <network name="UK - VODAFONE" id="2" />
    </tariff>
    <user name="becky_sales" id="33105" />
    <delivery instructions=" ">
    <deliveryAddress add1="1 the road" add2="county" add3="" pcode="AB1 234"/>
    </delivery>
    <mobile number="00447123456789" id="29988151">
    <contactDetails>
    <address add1="1 the road" add2="county" add3="" pcode="AB1 234"/>
    <name saluation="Mrs " fname="BOB" sname="SMITH"/>
    <additionalNumbers>
    <additionalNumber name="Alternate" number=" "/>
    </additionalNumbers>
    </contactDetails>
    </mobile>
    </sale>
    </result>

    Regards,

    Chris V

    • Moved by

      Tuesday, February 22, 2011 2:13 AM
      (From:XML in Windows (MSXML and XmlLite))

Answers

  • You can use DomDocument.parseError.reason to find the description of this error code. I used the following code to parse your xml and there is no error.

    var doc = new ActiveXObject("Msxml2.DOMDocument");
    doc.validateOnParse = true;
    doc.async = false;
    doc.setProperty("ProhibitDTD", false);
    doc.resolveExternals = true;
    doc.load("test.xml");
    
    var error = doc.parseError;
    if (error.errorCode != 0){
    	WScript.Echo("Code: " + error.errorCode);
    	WScript.Echo("Reason: " + error.reason);
    	WScript.Echo("Line: " + error.line + " Pos: " + error.linepos);
    	WScript.Echo("Source: " + error.srcText);
    }
    else{
    	WScript.Echo("No Error");
    }

    I also believe the «<br/>» right next to <?xml … ?> is not part of the xml file.


    Shuhai Shen — http://leonax.net

    • Edited by
      Shuhai
      Wednesday, September 2, 2009 2:20 PM
      Add link
    • Marked as answer by
      venablc
      Wednesday, September 2, 2009 2:29 PM

Перейти к контенту

Convert XML to ExcelВ виду неудобства просмотра данных в файле XML возникла задача открыть (или импортировать) файл XML в MS Excel. Благо то, что MS Excel поддерживает такие файлы и в нем встроен механизм импорта.

Однако при открытии файла XML в Excel появляется ошибка:

Ошибка в XML в указанном источнике XML или схемы

Рис. 1 

Если нажать на кнопку «Сведения…» выводятся подробности:

Код ошибки —2146697210, Не удается найти указанный объект:

Ошибка в XML - код ошибки -2146697210

Иногда после того, как нажимаешь «ОК» в окне на рис.1, MS Excel зависает и закрывается с ошибкой:

Прекращена работа программы Excel

Решение (на примере MS Excel 2016 ):

Произвести импорт данных:

1. Открыть новый документ в Excel (Пустая книга)

Excel - пустая книга

2.  Перейти на вкладку «Данные» — «Получение внешних данных» — «Из других источников» — «Из импорта данных XML«:

Excel - импорт данных XML

3.  Далее выбираем импортируемый файл XML и нажимаем на кнопку «Открыть«.

4.  Выбираем способ открытия «XML-таблица«:

Открытие XML - XML-таблица

5. В окне «Импорт данных» выставите значение «Новый лист«:

Excel окно Импорт данных

Нажмите «ОК«.  После чего должна открыться таблица с набором данных из XML-файла.

Для того, чтобы открыть (импортировать) в Excel несколько файлов необходимо:

1.  В Excel в меню «Файл» выбрать «Параметры«.

2.  Перейти в раздел «Настроить ленту» и активировать вкладку «Разработчик«:

Параметры Excel - настройка ленты

Нажмите кнопку «ОК«.

3. Нажмите на вкладку «Разработчик»  — «Импорт» (в разделе XML):

Excel - вкладка Разработчик - xml Импорт

4.  Далее с помощью клавиш CTRL или SHIFT выберите несколько XML файлов и нажмите «Открыть».

Я
   jbond

10.08.06 — 10:22

Сабж. А IE номально загружает его.

Другие XML, выгруженные по той же схеме — проходят нормально.

В чем дело?

Код загрузки:

xmlParser = СоздатьОбъект(«MSXML2.DOMDocument»);

xmlParser.async = 0;

xmlParser.load(ФайлИмпорта);

Корень = xmlParser.documentElement; — исключение

   jbond

1 — 10.08.06 — 10:31

xmlParser.parseError.reason = «An invalid character was found in text content.»

   andrey1111

2 — 10.08.06 — 10:38

Если парсится выгрузка из 1С, то сделай ТиИ базы-источника. Оно уберет запрещенные символы. Обычно это символ возврата каретки в каком-нибудь реквизите справочника. Затем снова сделай выгрузку.

ЗЫ копию не забудь сделать

   jbond

3 — 10.08.06 — 10:44

(2) — это собственноручно написанная выгрузка. Впервые сталкиваюсь с такой хней.

Перепробовал и Utf-8 и WIN1251

   jbond

4 — 10.08.06 — 10:46

А сторонние инструменты лечение XML есть?

   jbond

5 — 10.08.06 — 10:54

Странно ругается на символ в слове Медсеста…

  

jbond

6 — 10.08.06 — 11:06

А теперь ругается на другой сивмол — в слове Возвраты. Что за хрень?

Парсер глючный?

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Archived Forums 261-280

 > 

Off-Topic Posts (Do Not Post Here)

  • Question

  • Question

    Sign in to vote

    0


    Sign in to vote

    This particular Excel file was left open when my laptop was accidentally shut down. Since then, whenever I tried to open this file, I’ll get this error code 1072896760.
    Is there any thing I can do to open this file again?

    • Moved by
      Tim Li
      Monday, September 7, 2009 10:09 AM
      off-topic in developer forum (From:Visual Basic for Applications (VBA))

    Tuesday, August 25, 2009 2:24 AM

Archived Forums 261-280

 > 

Off-Topic Posts (Do Not Post Here)

  • Question

  • Question

    Sign in to vote

    0


    Sign in to vote

    This particular Excel file was left open when my laptop was accidentally shut down. Since then, whenever I tried to open this file, I’ll get this error code 1072896760.
    Is there any thing I can do to open this file again?

    • Moved by
      Tim Li
      Monday, September 7, 2009 10:09 AM
      off-topic in developer forum (From:Visual Basic for Applications (VBA))

    Tuesday, August 25, 2009 2:24 AM

VikaR

  • #1

Здравствуйте.

Нужно распарсить ХМЛ файл, но файл с ошибкой. Как исправить ошибку, а затем парсить.

Переписываать файл НЕЛЬЗЯ

Использую такой код

var xmlDoc = new ActiveXObject(«Microsoft.XMLDOM»);

var readok = false;
xmlDoc.async = «false»;
readok = xmlDoc.load(programfolder + «client_state.xml»);

if (readok){ здесь парсинг

Но readok содержит ошибку -1072896760 — недопустимый символ. Это не ASCII символ. Так вот как его выбросить, а затем продолжить парсить.

Спасибо

PS. Сам файл здесь

Ссылка скрыта от гостей

1ive

  • #2

Если хочешь сделать всё проще — предлагаю обходной путь)

Simple HTML DOM Parser is designed for reading and editing HTML but it works fine with XML files
Вот сайт проекта

Ссылка скрыта от гостей

С использованием этого класса, парсер будет выглядеть примерно так:

HTML:

$xml = file_get_html('http://www.google.com/');
foreach($xml->find('span') as $element)
echo $element;

В документации можно посмотреть как спарсить совершенно любой элемент XML
Сам им часто пользуюсь.

VikaR

  • #3

Есть путь еще проще — прочитать файл в память как текст, подправить инвалидніе символы, а затем передать парсеру.
Вот код
if (xmlDoc.parseError.errorCode == -1072896760){
var filename = programfolder + «client_state.xml»;
try{
var xmlfile = fspenTextFile(filename.substring(8), 1); //1 read
var filecontent = xmlfile.ReadAll();
xmlfile.Close();
// здесь убираются инвалидніе символы (эта часть программы, думаю никого не интересует)
readok = xmlDoc.loadXML(filecontent);
}
catch (e){}
finally { xmlfile.Close(); }
}

  • Remove From My Forums
  • Вопрос

  • Здравствуйте.

    Нужно распарсить ХМЛ файл, но файл с ошибкой. Как исправить ошибку, а затем парсить.

    Переписываать файл НЕЛЬЗЯ

    Использую такой код

    var xmlDoc = new ActiveXObject(«Microsoft.XMLDOM»);

     var readok = false;
     xmlDoc.async = «false»;
     readok = xmlDoc.load(programfolder + «client_state.xml»);

     if (readok){ здесь парсинг

    Но readok содержит ошибку -1072896760 — недопустимый символ. Это не ASCII символ. Так вот как его вібросить, а затем продолжить парсить.

    Спасибо

    • Перемещено

      6 июня 2011 г. 16:21
      (От:Windows 7)

Ответы

  • Тут все просто: ваш файл не является XML файлом. Пишете свой парсер под этот нестандартный формат или меняйте файл чтоб он был валидным XML.

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


    This posting is provided «AS IS» with no warranties, and confers no rights.

    • Помечено в качестве ответа
      Yuriy Lenchenkov
      8 июня 2011 г. 10:49

  • Remove From My Forums
  • Question

  • Hi,

    I am using Msxml2.DOMDocument however I am getting a parseError of -1072896760. I can’t find this documented anywhere!

    the XML I am trying to parse is:

    <?xml version="1.0" encoding="utf-8" ?>
    <result status="1">
    <sale id="155913">
    <salecosts>
    <salecost name="handset" value=""/>
    <salecost name="delivery" value=""/>
    <salecost name="other" value=""/>
    </salecosts>
    <handset>
    <model id="1" name="1661-Black(+�60 cb)">
    <manufacturer id="1" name="Nokia"/>
    </model>
    </handset>
    <tariff rental="20" term="24" description="rent: 20.00 | term: 24 | mins: 100 | SMS: 500 | network: Vodafone">
    <network name="UK - VODAFONE" id="2" />
    </tariff>
    <user name="becky_sales" id="33105" />
    <delivery instructions=" ">
    <deliveryAddress add1="1 the road" add2="county" add3="" pcode="AB1 234"/>
    </delivery>
    <mobile number="00447123456789" id="29988151">
    <contactDetails>
    <address add1="1 the road" add2="county" add3="" pcode="AB1 234"/>
    <name saluation="Mrs " fname="BOB" sname="SMITH"/>
    <additionalNumbers>
    <additionalNumber name="Alternate" number=" "/>
    </additionalNumbers>
    </contactDetails>
    </mobile>
    </sale>
    </result>

    Regards,

    Chris V

    • Moved by

      Tuesday, February 22, 2011 2:13 AM
      (From:XML in Windows (MSXML and XmlLite))

Answers

  • You can use DomDocument.parseError.reason to find the description of this error code. I used the following code to parse your xml and there is no error.

    var doc = new ActiveXObject("Msxml2.DOMDocument");
    doc.validateOnParse = true;
    doc.async = false;
    doc.setProperty("ProhibitDTD", false);
    doc.resolveExternals = true;
    doc.load("test.xml");
    
    var error = doc.parseError;
    if (error.errorCode != 0){
    	WScript.Echo("Code: " + error.errorCode);
    	WScript.Echo("Reason: " + error.reason);
    	WScript.Echo("Line: " + error.line + " Pos: " + error.linepos);
    	WScript.Echo("Source: " + error.srcText);
    }
    else{
    	WScript.Echo("No Error");
    }

    I also believe the «<br/>» right next to <?xml … ?> is not part of the xml file.


    Shuhai Shen — http://leonax.net

    • Edited by
      Shuhai
      Wednesday, September 2, 2009 2:20 PM
      Add link
    • Marked as answer by
      venablc
      Wednesday, September 2, 2009 2:29 PM

Перейти к контенту

Convert XML to ExcelВ виду неудобства просмотра данных в файле XML возникла задача открыть (или импортировать) файл XML в MS Excel. Благо то, что MS Excel поддерживает такие файлы и в нем встроен механизм импорта.

Однако при открытии файла XML в Excel появляется ошибка:

Ошибка в XML в указанном источнике XML или схемы

Рис. 1 

Если нажать на кнопку «Сведения…» выводятся подробности:

Код ошибки —2146697210, Не удается найти указанный объект:

Ошибка в XML - код ошибки -2146697210

Иногда после того, как нажимаешь «ОК» в окне на рис.1, MS Excel зависает и закрывается с ошибкой:

Прекращена работа программы Excel

Решение (на примере MS Excel 2016 ):

Произвести импорт данных:

1. Открыть новый документ в Excel (Пустая книга)

Excel - пустая книга

2.  Перейти на вкладку «Данные» — «Получение внешних данных» — «Из других источников» — «Из импорта данных XML«:

Excel - импорт данных XML

3.  Далее выбираем импортируемый файл XML и нажимаем на кнопку «Открыть«.

4.  Выбираем способ открытия «XML-таблица«:

Открытие XML - XML-таблица

5. В окне «Импорт данных» выставите значение «Новый лист«:

Excel окно Импорт данных

Нажмите «ОК«.  После чего должна открыться таблица с набором данных из XML-файла.

Для того, чтобы открыть (импортировать) в Excel несколько файлов необходимо:

1.  В Excel в меню «Файл» выбрать «Параметры«.

2.  Перейти в раздел «Настроить ленту» и активировать вкладку «Разработчик«:

Параметры Excel - настройка ленты

Нажмите кнопку «ОК«.

3. Нажмите на вкладку «Разработчик»  — «Импорт» (в разделе XML):

Excel - вкладка Разработчик - xml Импорт

4.  Далее с помощью клавиш CTRL или SHIFT выберите несколько XML файлов и нажмите «Открыть».

  • Excel код ошибки 0xc0000142
  • Excel как пропустить все ошибки
  • Excel как не показывать ошибки
  • Excel инспектор документов ошибка
  • Excel зафиксированные объекты будут перемещены ошибка