|   |   | 
| 
 | v7: Проблема с формированием XML ↓ (Волшебник 31.07.2024 15:50) | ☑ | ||
|---|---|---|---|---|
| 0
    
        zenon46 31.07.24✎ 15:49 | 
        Доброго дня всем!
 Понадобилось нарисовать в клюшках выгрузку кое-каких данных, по шаблону. Так вот, второй строкой в файле идет строка со следующим содержимым: <!DOCTYPE yml_catalog SYSTEM "shops.dtd"> Не особо получается это сделать. Начал вот так : XML_DOM = CreateObject("MSXML2.DOMDocument.4.0");
Header = XML_DOM.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""" ); 
	XML_DOM.appendChild(Header);А дальше ступор. Ведь это не тэг, а просто какая-то строка. Может кто-то сталкивался? | |||
| 1
    
        SleepyHead 31.07.24✎ 15:31 | 
        (0) А просто в текстовый файл?     | |||
| 2
    
        MWWRuza 31.07.24✎ 15:47 | 
        А это вообще не комментарий ли случаем?     | |||
| 3
    
        Волшебник 31.07.24✎ 15:50 | 
        (0) Ну добавьте эту строку потом, если нужна. Подумаешь...     | |||
| 4
    
        Волшебник 31.07.24✎ 15:50 | 
        (0) Хватит уже эти клюшки копать. Переходите на восьмёрку.     | |||
| 5
    
        Garykom 31.07.24✎ 15:52 | 
        (0) Не в курсе что YML это не XML?     | |||
| 6
    
        zenon46 31.07.24✎ 15:52 | 
        (4) снеговик тоже есть, но клюшки пока выполняют полностью свою функцию, зачем переходить ? переход ради перехода ?     | |||
| 7
    
        zenon46 31.07.24✎ 15:53 | 
        (5) странно, в образце файла который нужно сформировать вот такое начало :
 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE yml_catalog SYSTEM "shops.dtd"> <yml_catalog date="2023-01-26T12:33:02+03:00"> Яндекс обозвал это просто YML. Я так понял. | |||
| 8
    
        Волшебник 31.07.24✎ 15:58 | 
        (6) Функцию выполняют? Ну ок.     | |||
| 9
    
        Волшебник 31.07.24✎ 15:59 | 
        (7) YML с XML не путайте.     | |||
| 10
    
        zenon46 31.07.24✎ 16:02 | 
        (9) и чем же отличается если YML (Yandex Market Language) — собственный стандарт Яндекс.Маркета, основанный на XML.
 Те же яйца только вид с боку... | |||
| 11
    
        Волшебник 31.07.24✎ 16:03 | 
        (10) Буквой отличается. Ты понял? Буквой!     | |||
| 12
    
        zenon46 31.07.24✎ 16:04 | 
        (2) да похоже на то..
 попробовал сделать вот так : XML_DOM.appendChild(XML_DOM.createComment("!DOCTYPE yml_catalog SYSTEM ""shops.dtd""")); получилось немного не то, конечно ) <!--!DOCTYPE yml_catalog SYSTEM "shops.dtd"--> вот так, а должно быть : <!DOCTYPE yml_catalog SYSTEM "shops.dtd"> | |||
| 13
    
        Garykom 31.07.24✎ 16:04 | 
        (10) про HTML и XHTML в курсе?     | |||
| 14
    
        Волшебник 31.07.24✎ 16:04 | 
        (12) хватит тупить. Сделай уже     | |||
| 15
    
        Garykom 31.07.24✎ 16:05 | 
        (12) ну низзя с помощью средства для работы с XML засунуть в файл похожий на XML (YML, HTML, XHTML и т.д.) то чего в XML не может быть     | |||
| 16
    
        Garykom 31.07.24✎ 16:06 | 
        (15)+ либо вручную как текст, либо ищи либы для YML, либо шаблон XML и замена в тексте под YML     | |||
| 17
    
        NorthWind 31.07.24✎ 16:49 | 
        (10) ну как минимум вот этим тегом, который нестандартен для XML и который непонятно как туда впендюривать.     | |||
| 18
    
        NorthWind 31.07.24✎ 17:00 | 
        (0) текстом выгружайте. Кстати, кроме шуток - я делал подобные вещи так - формировал шаблоны вида <yml_catalog date="%CATALOGDATE%">, а потом менял все значения в %% на нужные по списку через замену в строке. Довольно удобно и напортить с разметкой практически невозможно. Только нужно еще работу со всякими кавычками, знаками больше и меньше и прочими подобными HTML-вещами предусмотреть, которые стандартным образом туда вводить нельзя. И надобно сказать - в качестве бонуса - работает эта шляпа на больших файлах значительно быстрее чем MSXML.     | |||
| 19
    
        Garykom 31.07.24✎ 17:27 | 
        (18) мне таким же образом пришлось запросы SOAP формировать
 ибо через фабрику попробовал - нихрена не вышло ибо в пакете/мануалах от "Открытого АПИ ФНС" тупо нет полных схем, только какие то разрозненные куски, которые непонятно как собрать чтобы засунуть в фабрику | |||
| 20
    
        NorthWind 31.07.24✎ 17:41 | 
        (19) в данном случае фабрики еще и нет, ибо 7.7...     | |||
| 21
    
        Garykom 31.07.24✎ 17:53 | 
        (20) дык CreateObject("MSXML2.DOMDocument.4.0") чем не "фабрика" ?     | |||
| 22
    
        zenon46 31.07.24✎ 18:16 | 
        Нашел метод в снеговике ЗаписатьБезОбработки, а в MSXML2.DOMDocument.4.0 ничего такого найти не могу.     | |||
| 23
    
        Garykom 31.07.24✎ 19:42 | 
        (22) дык подсказали же
 запиши уникальный тег <DOCTYPE /> а потом тупо замени его в тексте | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |