|
Ошибка чтения ХМЛ | ☑ | ||
---|---|---|---|---|
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); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |