AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.03.2008, 12:25   #1  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
XMLNode с атрибутами и значением
Нужен объект XMLNode, у которого были бы атрибуты и значение, ну к примеру:

<node attr1="attr">bla-bla-bla</node>

создаю объект с помощью XMLDocument.createNode(...), перебрал уже вроде все типы, как правильно, не подскажите?

Вообще это возможно?

Последний раз редактировалось Dronas; 26.03.2008 в 12:49.
Старый 26.03.2008, 13:00   #2  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
А так не подойдет
X++:
XMLDocument XMLDocument = XMLDocument::newBlank();
XMLElement  node = XMLDocument.createElement('node');
;
node.setAttribute("attr1", "attr");
node.setNodeTypedValue('bla-bla-bla');
XMLDocument.appendChild(node);
info(XMLDocument.xml());
За это сообщение автора поблагодарили: kashperuk (2), aidsua (1).
Старый 26.03.2008, 16:09   #3  
Dronas is offline
Dronas
Участник
 
213 / 14 (1) ++
Регистрация: 16.11.2004
Спасибо, именно!
Старый 06.03.2010, 01:41   #4  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
А так не подойдет
X++:
XMLDocument XMLDocument = XMLDocument::newBlank();
XMLElement  node = XMLDocument.createElement('node');
;
node.setAttribute("attr1", "attr");
node.setNodeTypedValue('bla-bla-bla');
XMLDocument.appendChild(node);
info(XMLDocument.xml());
В DAX 4.0, DAX 2009 ошибка компиляции: "The class XmlElement does not contain this function." для setNodeTypedValue.

У кого-нибудь этот пример компилируется?
Старый 06.03.2010, 09:05   #5  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,311 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
У меня такой пример
X++:
    XmlAttribute   attribute;
    XmlNode        node;
    XmlDocument    xmlDocument = new xmlDocument();
    ;
    node  = xmlDocument.createElement('node');
    attribute = xmlDocument.createAttribute('attr1');
    attribute.value('bla-bla-bla');
    node.attributes().setNamedItem(attribute);
работает нормально в обоих версиях
__________________
Возможно сделать все. Вопрос времени
Старый 09.03.2010, 12:01   #6  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
У меня такой пример
X++:
    XmlAttribute   attribute;
    XmlNode        node;
    XmlDocument    xmlDocument = new xmlDocument();
    ;
    node  = xmlDocument.createElement('node');
    attribute = xmlDocument.createAttribute('attr1');
    attribute.value('bla-bla-bla');
    node.attributes().setNamedItem(attribute);
работает нормально в обоих версиях
По-моему, это не то. Этот код даст:
X++:
<node attr1="bla-bla-bla"></node>
а нужно
X++:
<node attr1="attr">bla-bla-bla</node>
то есть значение атрибута есть, а значения нода нет.

Четверки нет, поэтому проверить не могу
За это сообщение автора поблагодарили: sukhanchik (1).
Старый 09.03.2010, 12:20   #7  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,311 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
По-моему, это не то.
Ой, Вы правы... Невнимательно подошел к делу. Спасибо за замечание

Вот код, который правильный.
X++:
    XmlAttribute   attribute;
    XmlNode        node;
    XmlDocument    xmlDocument = new xmlDocument();
    ;
    node  = xmlDocument.createElement('node');
    attribute = xmlDocument.createAttribute('attr1');
    attribute.value('attr');
    node.attributes().setNamedItem(attribute);
    node.text('bla-bla-bla');
    info(xmlDocument.xml());
__________________
Возможно сделать все. Вопрос времени
Старый 09.03.2010, 12:54   #8  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
X++:
    XmlAttribute   attribute;
    XmlNode        node;
    XmlDocument    xmlDocument = new xmlDocument();
    ;
    node  = xmlDocument.createElement('node');
    attribute = xmlDocument.createAttribute('attr1');
    attribute.value('attr');
    node.attributes().setNamedItem(attribute);
    node.text('bla-bla-bla');
    info(xmlDocument.xml());
И опять не то. Нод построен правильно, но болтается отдельно от документа.

Для полноты картины не хватает
X++:
XMLDocument.appendChild(node);
В общем я думаю достаточно заменить метод setNodeTypedValue на метод text и будет работать во всех версиях.
Старый 09.03.2010, 13:11   #9  
alex55 is offline
alex55
MCTS
MCBMSS
 
224 / 145 (5) +++++
Регистрация: 13.02.2007
Адрес: Москва
Цитата:
Сообщение от alex55 Посмотреть сообщение
В DAX 4.0, DAX 2009 ошибка компиляции: "The class XmlElement does not contain this function." для setNodeTypedValue.

У кого-нибудь этот пример компилируется?
Для 3-ки примерчик был похоже. Там работает.

Кроссверсионный вариант (3, 4, 5):
X++:
static void Job2(Args _args)
{
    XmlAttribute   attribute;
    XmlNode        node;
    XmlDocument    xmlDocument = new xmlDocument();
    ;

    node  = xmlDocument.createElement('node');
    attribute = xmlDocument.createAttribute('attr1');
    attribute.value('attr');
    node.attributes().setNamedItem(attribute);
    node.text('bla-bla-bla');

    xmlDocument.appendChild(node);

    info(xmlDocument.xml());
}

Последний раз редактировалось alex55; 09.03.2010 в 13:18.
Старый 09.03.2010, 14:00   #10  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,311 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
И опять не то. Нод построен правильно, но болтается отдельно от документа.
Да, Вы правы... Вот что бывает, когда выковыриваешь код из разных мест быстренько....
__________________
Возможно сделать все. Вопрос времени
Теги
xml

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
.Net (SharePoint) в DAX4.0 GromRom DAX: Программирование 20 03.07.2008 11:20
XMLNode в Dynamics AX KingPeas DAX: Программирование 1 06.06.2007 13:02
Расчет вида зарплаты в отпуске со значением период Год nicko DAX: Функционал 5 30.05.2006 08:14
Код аналитики 'Номер партии' отмечен в складских проводках со значением Antidot DAX: Программирование 9 29.07.2005 10:57
Задан ли параметр с значением по умолчанию? bucken DAX: Программирование 2 19.01.2004 17:43

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 01:03.