|
![]() |
#1 |
MCTS
|
Ошибочка, попробуйте так:
X++: root = xmlDocument.createNode(XMLNodeType::ELEMENT, "Name", ""); root2 = xmlDocument.createNode(XMLNodeType::ELEMENT, "Date", ""); root3 = xmlDocument.createNode(XMLNodeType::ELEMENT, "By", ""); docElem = xmlDocument.appendChild(root); docElem2 = docElem.appendChild(root2); docElem3 = docElem.appendChild(root3); root2.text(date2str(today(), 123,2,2,2,2,2)); root3.text('Ivan'); xmlDocument.save("С:\\XML.xml"); |
|
![]() |
#2 |
Участник
|
что вам пытаются втолковать:
задавайте текст у только что созданного элемента, а не у документа. Неправильно: X++: docElem = xmlDocument.appendChild(root); docElem2 = docElem.appendChild(root2); node = xmlDocument.createTextNode(date2str(today(), 123,2,2,2,2,2)); X++: docElem = xmlDocument.appendChild(root); docElem2 = docElem.appendChild(root2); node = docElem2.createTextNode(date2str(today(), 123,2,2,2,2,2)); |
|
![]() |
#3 |
Axapta Retail User
|
|
|
![]() |
#4 |
Участник
|
Ну, если взять исходную задачу, то нужно что-нибудь подобное:
Код: XMLElement filedNode, xmlElementRoot; ; xmlElementRoot= xmlDocument.createElement("section"); filedNode= xmlDocument.createElement("id"); filedNode.text("1001"); xmlElementRoot.appendChild(filedNode); filedNode= xmlDocument.createElement("sum"); filedNode.text("100"); xmlElementRoot.appendChild(filedNode); xmlDocument.appendChild(xmlElementRoot); Последний раз редактировалось Raven Melancholic; 06.04.2010 в 17:20. Причина: mazzy обогнал |
|
![]() |
#5 |
Участник
|
А если без класса XMLDocument ? если просто писать нужное содержание со всеми тегами в текстовый файл с расширением xml ?
|
|
![]() |
#6 |
Читатель
|
Просто для информации - формат даты в XML
PHP код:
X++: node = xmlDocument.createElement("Date"); node.text(date2str(date, 321, 2, 3, 2, 3, 4)); rootNode.appendChild(node); |
|
![]() |
#7 |
Участник
|
Версия AX - 5.0?
Если так, можно использовать технологию LINQ, с ней гораздо удобнее создавать XML документы. Нужно подключить ссылку (reference) на System.Xml.Linq (правда нужен .Net framework 3.5 версии) код создания вашего док-та: X++: System.Xml.Linq.XElement document=new System.Xml.Linq.XElement(System.Xml.Linq.XName::Get("section")); System.Exception e; ; try { document.Add(new System.Xml.Linq.XElement(System.Xml.Linq.XName::Get("id"),1001)); document.Add(new System.Xml.Linq.XElement(System.Xml.Linq.XName::Get("sum"),100)); document.Save("c:\\test.xml"); } catch(Exception::CLRError) { e = ClrInterop::getLastException(); while( e ) { info( e.get_Message() ); e = e.get_InnerException(); } } Последний раз редактировалось jonny; 07.04.2010 в 08:01. |
|
|
За это сообщение автора поблагодарили: gl00mie (5). |
![]() |
#8 |
Axapta Retail User
|
Цитата:
Сообщение от PavelX
![]() Ошибочка, попробуйте так:
X++: root = xmlDocument.createNode(XMLNodeType::ELEMENT, "Name", ""); root2 = xmlDocument.createNode(XMLNodeType::ELEMENT, "Date", ""); root3 = xmlDocument.createNode(XMLNodeType::ELEMENT, "By", ""); docElem = xmlDocument.appendChild(root); docElem2 = docElem.appendChild(root2); docElem3 = docElem.appendChild(root3); root2.text(date2str(today(), 123,2,2,2,2,2)); root3.text('Ivan'); xmlDocument.save("С:\\XML.xml"); Последний раз редактировалось novic; 07.04.2010 в 09:08. |
|
Теги |
xml, кодировка |
|
|