Как прочитать комментарий в заголовке XML из DOMДокумента? #722367


#0 by Crush
Файл начинается со строк: <?xml version="1.0" encoding="windows-1251"?><!--бла бла бла--> Строки эти добавляются так: дом.ДобавитьДочерний(дом.СоздатьКомментарий("бла бла бла")); Вот как мне получить строчку = "бла бла бла"?
#1 by Asmody
Перебрать дочерние узлы, найти где ТипУзла = ТипУзлаDOM.Комментарий, у него посмотреть свойство ЗначениеУзла
#2 by DrZombi
А отладчик уже забанили?
#3 by Crush
Спасибо конечно, но не то. В Дочерних узлах только один узел с типом Элемент, он же ЭлеемнтДокумента.
#4 by Banned
Открыть как текст
#5 by Asmody
А у этого элемента тоже есть дочерние элементы. Оно же дерево.
#6 by Crush
:) и памятник Мне то нужен комментарий, который находится перед главной веткой этого дерева. <?xml version="1.0" encoding="windows-1251"?> <!--бла бла бла--> <ГлавнаяВетка>   <!--Этот коммент мне не нужен! Нужен тот что выше--> Попробую через ЧтениеУзловDOM. Ни разу еще пользовался, вдруг взлетит.
#7 by Crush
из СП:Примечание: Будут пропущены следующие типы узлов: ОбъявлениеXML, ИнструкцияОбработки, ОпределениеТипаДокумента, Комментарий. Метод Прочитать позиционируется на начале элемента. Походу тоже игнорирует комментарии. Как еще можно, не прибегая к ?
#8 by Krolik Bezobraznik
Я делаю так В переменной мЗапрос записывай полный путь до узла, который ты хочешь загрузить.
#9 by Asmody
Интересно, какой будет путь до комментария, который до главного узла?
#10 by Krolik Bezobraznik
Да я как то пропустил суть, что надо комментарий получить =)
#11 by DS
Хотелось бы узнать, как удалось записать комментарий XML тем способом, что указан в .
#12 by Crush
дом            = Новый ДокументDOM; дом.ДобавитьДочерний(дом.СоздатьКомментарий("бла бла бла"));
#13 by DS
Ну, это случайно удалось так сделать. Так сказать недокументированная возможность. По сути этот коментарий должен был вложиться в документ. Но т. к. в конструкторе не был указан обязательный реквизит - имя документа (главного узла), то этот узел и не был создан. Надо написать 1с по поводу такого поведения конструктора ДокументDOM.
#14 by Crush
Нормально отрабатывает. Вложенные узлы так же добавляю. Кстати тема решена. Следующим постом - решение;)
#15 by Crush
Нужно было при чтении указать параметры (ПараметрыЧтенияXML(,,,,,,,Ложь)), тогда в дочерних узлах будут коменты.
#16 by DS
Это понятно. Но что будет, если прочитать файл, созданный в ?
#17 by Crush
Он не прочитается, т.к. нет корневого узла. дом            = Новый ДокументDOM; дом.ДобавитьДочерний(дом.СоздатьКомментарий("бла бла бла"));
#18 by DS
Для меня, честно говоря, конструктор "Новый ДокументDOM;" без параметров просто откровение.
#19 by Crush
:)ага. Сам только обратил внимание.:) в СП описаны два конструктра и минимум два параметра - ОБЯЗАТЕЛЬНЫЕ. Но, СП - это СП. А Новый ДокументDOM - это DOM документ:) Вспомнился анекдот, когда сын программиста спрашивал у папы про движение солца за окном. На что папа выяснил стабильность движения и попросил ничего не трогать, мол пока и так стабильно работает:)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С