|
Непонятка с тегами XML | ☑ | ||
---|---|---|---|---|
0
simol
04.09.12
✎
19:34
|
Добрый день!
Скажите, в моем файле ХМL есть тег: <Значение /> Так как значение не заполнено, что по идее тождественно <Значение></Значение> 1С-ка при чтении xml читает этот (<Значение /> ) и говорит, что это Начало элемента и соответственно конец элемента не находится, так как этот тег сам же и является закрытием. Как при чтении xml определить что это тег вида <Значение /> (открытие и закрытие, пустое значение) К |
|||
1
Mafoni
04.09.12
✎
19:37
|
а что мешает писать два тега <Значение></Значение> и забыть об этой проблеме ? или xml из внешней какой-то программы выливается ?
|
|||
2
andrewks
04.09.12
✎
19:45
|
пробел лишний
|
|||
3
simol
04.09.12
✎
19:46
|
(1)Из внешней
(2) Для обозначения элемента без содержания, называемого пустым элементом, необходимо применять особую форму записи, состоящую из одного тега, в котором после имени элемента ставится косая черта. Если в DTD элемент не объявлен пустым, но в документе он не имеет содержания, для него допускается применять следующие (три) формы записи. Например: <foo></foo> <foo /> <foo/> |
|||
4
Wobland
04.09.12
✎
19:47
|
(3) мало ли что там себе думают разработчики стандарта XML... удалять пробел пробовал?
|
|||
5
andrewks
04.09.12
✎
19:48
|
(4) +100
мнения 1С и разработчиков стандартов могут не совпадать. 1С за мнения разработчиков стандартов ответственности не несёт. :-) |
|||
6
andrewks
04.09.12
✎
19:49
|
огнелис тоже против пробела
|
|||
7
andrewks
04.09.12
✎
19:50
|
а, не, вру, огнелис скушал
|
|||
8
Mafoni
04.09.12
✎
19:53
|
дык если у него внешняя приблуда формирует xml то пробел он может и не убрать !
|
|||
9
Wobland
04.09.12
✎
19:53
|
(8) хотя бы диагностируем
|
|||
10
Mafoni
04.09.12
✎
19:57
|
(9) - прав на все сто! Эй ТС - ты еще тут - послушай умного человека (4) и сделай как он говорит.
|
|||
11
simol
04.09.12
✎
20:00
|
(8)Так и есть
(10)Как я его уберу? ОбъектXML = Новый ЧтениеXML; ОбъектXML.ОткрытьФайл(ИмяФайла); Пока ОбъектXML.Прочитать() Цикл |
|||
12
simol
04.09.12
✎
20:00
|
ТипУзла = ОбъектXML.ТипУзла;
Если ТипУзла = НачалоЭлемента |
|||
13
Wobland
04.09.12
✎
20:01
|
(11) научить редактировать файлы? но дорого?
|
|||
14
Mafoni
04.09.12
✎
20:02
|
открываеш xml в блокноте
ишешь тот самый грешный тег <Значение /> убераеш оттудова " " ( это пробел) записываеш файло. Пробуеш свою обработку еще раз. (13) извини - сегодня демпингую - учу без оплаты :) |
|||
15
Wobland
04.09.12
✎
20:04
|
(14) я б лучше научил ;)
к блокнотам стойкая неприязнь |
|||
16
simol
04.09.12
✎
20:06
|
Так это не разовая загрузка, это обмен данными со сторонними поставщиками.
Парсить из-за пробела это не по нашему. |
|||
17
Wobland
04.09.12
✎
20:06
|
(16) -> (9)
|
|||
18
simol
04.09.12
✎
20:06
|
(14)Ты пробовал 20 метров XML открыть в блокноте?
|
|||
19
Mafoni
04.09.12
✎
20:07
|
(16) - ты для начала проверь в этом ли проблема ! а потом думай что с ней делать !
|
|||
20
simol
04.09.12
✎
20:07
|
(17)Вот вопрос темы в этом и состоит КАК?
А так получается как диагностировать? берешь и диагностируешь. |
|||
21
Wobland
04.09.12
✎
20:07
|
(19) во!
да и "парсить" там на две минуты делов. СтрЗаменить(" /", "/") |
|||
22
Wobland
04.09.12
✎
20:08
|
(20) РУКАМИ!!
|
|||
23
simol
04.09.12
✎
20:08
|
Вроде и не пятница. а стебетесь.
|
|||
24
simol
04.09.12
✎
20:09
|
(19)Я и проверил и вот и пишу, что на <Значение /> 1С говорит, что тег открытия, а не пустой тег.
|
|||
25
Wobland
04.09.12
✎
20:09
|
(23) вынуждаешь. лично я ничего шуточного доселе не имел в виду
|
|||
26
Mafoni
04.09.12
✎
20:09
|
(18) - ей богу как маленький - открой в каком-нибуть редакторе - который позволяет редактировать такие большие файлы xml. Если память не изменяет то FAR - справляется с этой задачей.
|
|||
27
simol
04.09.12
✎
20:10
|
(26) см (16)
|
|||
28
andrewks
04.09.12
✎
20:13
|
ну что ж, давайте пофилософствуем на тему пробелов в XML. думаю, они там лишние, ибо пустота не должна обозначаться пробелами, ведь в православном SQL пустота тоже не обозначается пробелами, а для этого используется обозначение NULL.
|
|||
29
Wobland
04.09.12
✎
20:13
|
(27) мужик, ты попробуй, а потом возвращайся, а? нам лениво у себя создавать такие ситуации и проверять
|
|||
30
Wobland
04.09.12
✎
20:15
|
(28) оффтопик, второй раз за сегодня. поубивал бы за "ПустаяСтрока(стр)=0" ;)
|
|||
31
simol
04.09.12
✎
20:16
|
Жаль не могу вас забанить, тролли вы.
Проблему я то решил. Если вы по каждому поводу с проблемой не раздираетесь, а удаляете пробелы, то мне же лучше. |
|||
32
Wobland
04.09.12
✎
20:16
|
(31) на здоровье
|
|||
33
andrewks
04.09.12
✎
20:19
|
неблагодарные. помогаешь им тут, время тратишь, а они взамен - пшикают и ругаются.
|
|||
34
Fragster
гуру
04.09.12
✎
20:20
|
Объект = ФабрикаXDTO.Прочитать(ЧтениеXML) и все, не надо изголяться...
|
|||
35
simol
04.09.12
✎
20:21
|
Решение следующее
Обработка ЗагрузкаДанныхCommerceML Процедура ПрочитатьФайлXML Вместо
Написал
|
|||
36
Wobland
04.09.12
✎
20:21
|
(33) а это от фотки неправильной. сравни:
v8: Хранить файлы в томах на диске УТ11 v8: УТ11. Добавил ресурсы в регистр сведений но они не везде видны. |
|||
37
simol
04.09.12
✎
20:21
|
(34)Спасибо
|
|||
38
Wobland
04.09.12
✎
20:22
|
(35) у кого-то код не работает, а мы крайние
|
|||
39
andrewks
04.09.12
✎
20:24
|
(35) что это?
|
|||
40
andrewks
04.09.12
✎
20:24
|
(36) угу, вот что фотки животворящие делают
|
|||
41
Wobland
04.09.12
✎
20:25
|
и даже в книгу знаний добавил..
|
|||
42
Wobland
04.09.12
✎
20:25
|
+(41) тогда уж (0) и (35)
|
|||
43
simol
04.09.12
✎
20:26
|
(42)Это и добавил. просто вы же и ломаете
|
|||
44
Wobland
04.09.12
✎
20:27
|
(43) у меня галки почти везде
|
|||
45
simol
04.09.12
✎
20:30
|
(43)Так работает, но это если с нуля переписать загрузку.
|
|||
46
Wobland
04.09.12
✎
20:32
|
(45) у нас скоро полночь, могу судить нетрезво. я так и не увидел соответствия решению в (35) заявленной проблеме в (0)
|
|||
47
andrewks
04.09.12
✎
20:33
|
короче, спешу доложить: только что проверил, ЧтениеXML корректно читает все три варианта. так что Нуралиев белый и пушистый. а (35) - извините, я не понял, что там написано
|
|||
48
Wobland
04.09.12
✎
20:35
|
(47) -> (38), уже понятно ;)
|
|||
49
simol
04.09.12
✎
20:35
|
(47) Он читает, но если определить тип узла, то будет "Начало элемента". И дальше узла, его закрывающего уже не будет. Было бы разумней. если бы тип узла был не "Начало элемента", а "Пустой узел"
|
|||
50
andrewks
04.09.12
✎
20:36
|
полтинник постов ни о чём. занавес
|
|||
51
andrewks
04.09.12
✎
20:37
|
(49) "И дальше узла, его закрывающего уже не будет" будет, и даже есть. но тебя, я вижу, не убедить
|
|||
52
Wobland
04.09.12
✎
20:39
|
(50) поддерживаю
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |