создание XML
0 (0)
создание XML ( Solaris_moscow 09.02.2017 16:08 )
5(1)приветствую. нужно сгенерить файл xml. собирался через TXML, но не получается вставить схему вида:
xlmns='...' xmlns:xsi="".
что-то подвис я с вариантами. или такое лучше через шаблон загружать? подскажите, плз.
спасибо
>> ОтветитьКак вариант ( Евгений Гуцу 09.02.2017 16:30 )
5(1)var FieldValue = "Значение поля";
var XmlObj : object = ActiveX("Microsoft.XMLDOM");
var CurNode : object = XmlObj.createElement(FieldValue);
CurNode.appendChild( XmlObj.createTextNode(FieldValue) );
>> Ответитьче-то ругается на "=". в другом варианте, ругалась на "xml" как служебное слово ( Solaris_moscow 09.02.2017 16:45 )
5(1)Not specified
>> ОтветитьПоправил ( Евгений Гуцу 09.02.2017 17:22 )
5(1)Зря я в значении поля поставил пробел, сорри, но ругается не на "=" всё-таки.
Вот такой вариант проверил:
var FieldValue = "Значение_Поля"; var XmlObj : object = ActiveX("Microsoft.XMLDOM"); var CurNode : object = XmlObj.createElement(FieldValue); CurNode.appendChild( XmlObj.createTextNode(FieldValue) );
Вот пример из реальной жизни:
var xml : object = ActiveX("Microsoft.XMLDOM"); var mes : object = xml.createElement("ED501"); mes.setAttribute("xmlns", "urn:cbr-ru:ed:v2.0");
>> Ответитьв образце была строка с одинарными кавычками. вот через setAttribute такое не загонишь. ( Solaris_moscow 13.02.2017 14:30 )
5(1)я так понимаю, нет большой разницы, если вставить в заголовок не 'xlmns=', а "xlmns="?
>> ОтветитьВ rsl одинарные кавычки не прокатят ( Евгений Гуцу 13.02.2017 14:37 )
5(1)Нужны двойные, а в заголовок текст придёт, конечно же, без кавычек.
>> Ответить
В примерах есть CIK_CBR, там это сделано не красиво, но просто и оно работает ( tema 09.02.2017 17:46 )
5(1)domKvt.loadXml("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<File xsi:noNamespaceSchemaLocation='VO_CIK_CB_K_6.xsd' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'></File>");
>> Ответитьиз свеженького ( tema 13.02.2017 10:09 )
5(1)domXml.loadXml("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n<g xmlns='urn:cbr-garant:gar3:v0.3..3'/>"); domXml.documentElement=domXml.createNode(XML_NODE_ELEMENT,"Гарантия",xmlns);
>> Ответитьxmlns= "urn:cbr-garant:gar3:v0.3..3" ( tema 13.02.2017 10:11 )
5(1)Not specified
>> Ответить
да, я видел этот вариант. но я так понял, это не через стандартную библиотеку? ( Solaris_moscow 13.02.2017 14:31 )
5(1)Not specified
>> ОтветитьМне пока тоже непонятно ( Евгений Гуцу 13.02.2017 14:39 )
5(1)Tema забыл указать, к какому классу относится объект domXml в его примере.
>> ОтветитьMsxml2.DOMDocument ( tema 13.02.2017 15:40 )
5(1)ActiveX ("Msxml2.DOMDocument.6.0", null, true);
Стараюсь, по-возможности, делать на стрроне сервера.
Клёвых ништяков в TXML не заметил, поэтому не работаю с ним.
Без указания конкретно весрсии "6.0" проверка по схеме не работала.
Если проверка не нужна, то не указываю.
>> ОтветитьЯсно, ок, тоже вариант ( Евгений Гуцу 13.02.2017 16:07 )
5(1)Not specified
>> Ответить
в итоге, заменил в заголовке одинарные кавычки двойными и обошелся стандартом из TXML. Всем спасибо! ( Solaris_moscow 13.02.2017 14:57 )
5(1)Not specified
>> Ответить