|   |   | 
| 
 | Непонятка с тегами 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) поддерживаю     | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |