Имя: Пароль:
1C
1С v8
Ошибка чтения ХМЛ
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
Посмотрел в Юникоде &#29696;&#24832; - символы китайского алфавита... или японского кто их разберёт. Если браузер тоже не открывает, попробуй удалить <?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);