|   |   | 
| 
 | Ошибка чтения ХМЛ | ☑ | ||
|---|---|---|---|---|
| 0
    
        Нуф-Нуф 16.01.13✎ 21:00 | 
        Вот таким кодом пробую прочитать ХМЛ
  ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.ОткрытьФайл(адрес); Пока ЧтениеXML.Прочитать() Цикл КонеЦЦикла; Валится при первой же попытке прочитать на {Форма.Форма.Форма(162)}: Ошибка при вызове метода контекста (Прочитать) Пока ЧтениеXML.Прочитать() Цикл по причине: Ошибка разбора XML: - [3,37] Фатальная ошибка: Specification mandate value for attribute addDa琀愀 SystemId: file://"адрес" Вот сам ХМЛ <?xml version="1.0" encoding="unicode"?> <form:Documents xmlns:form="http://www.abbyy.com/FlexiCapture/Schemas/Export/FormData.xsd" xmlns:addData="http://www.abbyy.com/FlexiCapture/Schemas/Export/AdditionalFormData.xsd"> <_Счет-фактура:_Счет-фактура addData:ImagePath="Счет-фактура_29.11.2012_16.pdf" xmlns:_Счет-фактура="http://www.abbyy.com/FlexiCapture/Schemas/Export/Счет-фактура.xsd"> <_Счет-Фактура> <_DocNum>034</_DocNum> <_DocDate>2012-11-29</_DocDate> <_IssCompany>Общество с ограниченной ответственностью</_IssCompany> <_IssINN>0000</_IssINN> <_IssKPP>0000</_IssKPP> <_DesCompany>Общество с ограниченной ответственностью</_DesCompany> <_DestINN>0000</_DestINN> <_DestKPP>0000</_DestKPP> <_Barcode/> <_FilePathName>0000</_FilePathName> </_Счет-Фактура> </_Счет-фактура:_Счет-фактура> </form:Documents> | |||
| 1
    
        Нуф-Нуф 16.01.13✎ 21:01 | 
        сам хмл в ИЕ открывается отлично     | |||
| 2
    
        Нуф-Нуф 16.01.13✎ 21:03 | 
        валится на второй попытке прочитать     | |||
| 3
    
        Нуф-Нуф 16.01.13✎ 21:07 | 
        удалил "addData:ImagePath="Счет-фактура_29.11.2012_16.pdf""
  стал валится на следующем атрибуте "xmlns:_Счет-фактура="http://www.abbyy.com/FlexiCapture/Schemas/Export/Счет-фактура.xsd"" {Форма.Форма.Форма(162)}: Ошибка при вызове метода контекста (Прочитать) Пока ЧтениеXML.Прочитать() Цикл по причине: Ошибка разбора XML: - [3,35] Фатальная ошибка: Specification mandate value for attribute xmlns SystemId: file:////test1/IGabdrakhmanov/Счет-фактура_29.11.2012_16.xml | |||
| 4
    
        Нуф-Нуф 16.01.13✎ 21:07 | 
        что это? косяк подготовки в хмл в стороннем ПО?     | |||
| 5
    
        Займись делом 16.01.13✎ 21:19 | 
        А каково содержание файла "Счет-фактура.xsd"? Ощущение, что какого-то параметра не хватает.     | |||
| 6
    
        Нуф-Нуф 16.01.13✎ 21:23 | 
        (5) хм. а как узнать содержание этого файла?     | |||
| 7
    
        Займись делом 16.01.13✎ 21:31 | 
        (6) Не обращай внимание на (5). Бред я там написал :(     | |||
| 8
    
        ChMikle 16.01.13✎ 21:32 | 
        (6) м.б. какие-то символы есть в этих строках, которые раньше узел закрывают ?     | |||
| 9
    
        lefthander 16.01.13✎ 21:35 | 
        (0) А что внутри цикла? Как вы узлы считываете?     | |||
| 10
    
        Нуф-Нуф 16.01.13✎ 21:36 | 
        оставил файл таким
  <?xml version="1.0" encoding="unicode"?> <form> <_Счет-фактура> <_Счет-Фактура> <_DocNum>034</_DocNum> <_DocDate>2012-11-29</_DocDate> <_IssCompany>Общество с ограниченной ответственностью</_IssCompany> <_IssINN>0000</_IssINN> <_IssKPP>0000</_IssKPP> <_DesCompany>Общество с ограниченной ответственностью</_DesCompany> <_DestINN>0000</_DestINN> <_DestKPP>0000</_DestKPP> <_Barcode/> <_FilePathName>0000</_FilePathName> </_Счет-Фактура> </_Счет-фактура> </form> теперь валится на {Форма.Форма.Форма(176)}: Ошибка при вызове метода контекста (Прочитать) Пока ЧтениеXML.Прочитать() Цикл по причине: Ошибка разбора XML: - [10,9] Фатальная ошибка: error parsing attribute name SystemId: file://"адрес" | |||
| 11
    
        Нуф-Нуф 16.01.13✎ 21:36 | 
        (9) ничего. просто прочитать узел за узлом     | |||
| 12
    
        lefthander 16.01.13✎ 21:41 | 
        (11) попробуйте посмотреть, хоть в коде типовой, как это происходит. 
  У объекта ЧтениеXML много разных методов и свойств, одно из них значение, это как раз то куда выводятся значения узлов. А у вас они куда выводятся? :) В том виде как у вас ничего и не будет, кроме ошибок. | |||
| 13
    
        Нуф-Нуф 16.01.13✎ 21:43 | 
        (12) для с чего это.  у меня просто читаются узлы. самый простой код     | |||
| 14
    
        Нуф-Нуф 16.01.13✎ 21:43 | 
        валидатор на http://www.w3schools.com/xml/xml_validator.asp говорит
  This page contains the following errors: error on line 3 at column 181: xmlns:_?????°????????????_???????µ??: 'http://www.abbyy.com/FlexiCapture/Schemas/Export/?????°????????????_???????µ??.xsd' is not a valid URI | |||
| 15
    
        Нуф-Нуф 16.01.13✎ 21:47 | 
        фак. придется завтра поставщика файлов мучить. а до завтра курить бамбук     | |||
| 16
    
        Нуф-Нуф 16.01.13✎ 21:50 | 
        может есть какой-нить форум фанатов ХМЛ?     | |||
| 17
    
        alexei366 16.01.13✎ 21:51 | 
        Мож кодировку у ЧтенияXML поставить, хотя наврятли поможет     | |||
| 18
    
        Займись делом 16.01.13✎ 21:52 | 
        Вопрос: браузером xml открывает?     | |||
| 19
    
        Займись делом 16.01.13✎ 21:53 | 
        Посмотрел в Юникоде 琀愀 - символы китайского алфавита... или японского кто их разберёт. Если браузер тоже не открывает, попробуй удалить <?xml version="1.0" encoding="unicode"?>     | |||
| 20
    
        Займись делом 16.01.13✎ 21:55 | 
        Вроде прочитал у меня (что он там начитал уже другой вопрос)     | |||
| 21
    
        Нуф-Нуф 16.01.13✎ 22:00 | 
        в браузере ИЕ открывается     | |||
| 22
    
        Займись делом 16.01.13✎ 22:05 | 
        В итоге помогло следующее:
  Взять xml представленный в первом сообщении, кроме строки "<?xml version="1.0" encoding="unicode"?>", сохранить с помощью блокнота в кодировке UTF-8. | |||
| 23
    
        Нуф-Нуф 16.01.13✎ 22:13 | 
        (22) спасибо!!!
  заменил строчку на <?xml version="1.0" encoding="UTF-8"?> и пересохранил в формате UTF-8 | |||
| 24
    
        Нуф-Нуф 16.01.13✎ 22:24 | 
        Всем большое спасибо за помощь!
  Сейчас меня спас код Текст = Новый ТекстовыйДокумент; Текст.Прочитать(адрес); СтрокаТекста = Текст.ПолучитьТекст(); СтрокаТекста = СтрЗаменить(СтрокаТекста,"unicode", "UTF-8"); Текст.УстановитьТекст(СтрокаТекста); Текст.Записать(адрес, КодировкаТекста.UTF8); | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |