jeudi 1 mars 2012


XMLDocument class

XMLDocument class allows to manipulate XML data via DOM.
XMLDocument is a thin wrapper around MSXML in Ax3 and around System.XML .NET framework namespace in Ax4, so use cross refereneces and MSDN to learn about DOM and other stuff.
Example:
static void Test_XML(Args _args)
{
str xml = @'
<tests>
<test>
<testnumber>1</testnumber>
<testname>bla bla</testname>
</test>
<test>
<testnumber>3</testnumber>
<testname>asdf</testname>
</test>
</tests>
'
;
XMlDocument doc=XMLDocument::newXML(xml);
XMLNodeList tests = doc.selectNodes('//test');
XMLNode node;
;
node = tests.nextNode();
while (node)
{
info(node.selectSingleNode('testnumber').text());
info(node.selectSingleNode('testname').text());
node = tests.nextNode();
}
}

[edit]Create a XML Document

You can create you own XML Documents by hand with the XML* Classes. This code creates a XML File with an XML Root element. It has one child element FOO with an attribute BAR. The attributes values is 123. Finally it is stored on C: in file test.xml.
XMLNode         root;
XMLElement node;
XMLAttribute attr;
XMLDocument doc = XMLDOcument::newBlank();
;
 
root = doc.createElement("xml");
doc.appendChild(root);
 
node = doc.createElement("foo");
node.setAttribute("bar","123");
root.appendChild(node);
 
doc.save("C:/test.xml");
The result looks like
<xml>
<foo bar="123"/>
</xml>

Aucun commentaire:

Enregistrer un commentaire