Имя: Пароль:
1C
1С v8
ЧтениеXML. Comment not terminated
0 George Wheels
 
10.04.15
13:36
ЧтениеXML комментарии вида

<!-- что-то -->

<!---->

<!--что-то
  ещё что-то-->

считает правильными. Но если где-то внутри комментария появляются два тире (--), то фатальная ошибка Comment not terminated. Можно-ли это обойти?
1 тарам пам пам
 
10.04.15
13:41
(0) разве что перед чтением XML пройтись по файлу как по текстовому документу и каким-либо образом экранировать данное сочетание
2 Лефмихалыч
 
10.04.15
13:42
может - просто не совать в комментарии последовательность "--"?
3 George Wheels
 
10.04.15
13:43
(1) Так и делаю, но некоторые файлы очень объёмные.
4 George Wheels
 
10.04.15
13:43
(2) Файлы сторонние.
5 Лефмихалыч
 
10.04.15
13:46
(4) тогда - только договориться с тем, кто их тебе дает, что ты не принимаешь файлы, не проходящие валидацию, т.к. тебе их читать нечем, если они рукожопые
6 Лефмихалыч
 
10.04.15
13:47
еще можно просить автора файлов заменять - на &#45;
7 George Wheels
 
10.04.15
13:48
(5) Т.е. встроенный парсер это не может обойти?
8 тарам пам пам
 
10.04.15
13:53
(3) Вроде бы ТекстовыйДокумент не читает файл целиком в память.
(5) Ну, это не они руко*опые, а 1с.
9 тарам пам пам
 
10.04.15
13:54
(8)+ перепутал - ЧтениеТекста, а не ТекстовыйДокумент
10 Лефмихалыч
 
10.04.15
13:55
(8) Приведи пример xml-парсера, который в состоянии сожрать, не подавившись, комментарий "<!-- sddfdss -- sdsd -->" или миздабол на веки
11 George Wheels
 
10.04.15
13:59
Ну раз не может, то и шут с ним.

Кстати парсер в S.T.A.L.K.E.R. это может.
12 тарам пам пам
 
10.04.15
14:01
(9) Ну ок, посыпаю голову пеплом, посмотрел стандарт - там и правда есть примечание - "For compatibility, the string " -- " (double-hyphen) MUST NOT occur within comments."
Тогда и правда стоит ткнуть отправителя файлов в стандарт.
13 Лефмихалыч
 
10.04.15
14:09
(11) чо?..
14 George Wheels
 
10.04.15
14:10
(13) Игра такая.
15 Лефмихалыч
 
10.04.15
14:11
(14) это я понял. Мне не понятно, как она связана с xml-парсером
16 George Wheels
 
10.04.15
14:12
(15) Я имею в виду, что у неё тоже XML-ки с такими приколами, но ведь работает.
17 Лефмихалыч
 
10.04.15
14:15
(16) видимо там парсер, не нюхавший стандарта и читает все, включая обрывки старых газет и надписи на заборе. Обычно такие парсеры не в состоянии за конечное время обработать документ даже в 100 сцаных мегабайт
18 Гёдза
 
10.04.15
14:48
(17) как раз обычно наоборот
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.