XML export - formatting with line feeds

alexjensenalexjensen Member Posts: 41
Hi all

We are exporting data i XML format from NAV using code and Microsoft XML automations.

The export file is OK meaning we can open it without problems in an XML interpreter (Internet Explorer e.g.). But when we open it in Notepad, the data is placed in "one" single line. (the lines are wrapped after 1024 characters as this seems to be Notepade line limit).

I have 2 challenges with this:

1) First of all is not very readable if You open it in Notepad or Wordpad and e.g. want to change some values for testing.
2) Second the receiver of the document somehow cannot handle when the line gets too long.

Is there any way you can format the XML document exporting by code from NAV?

Thanks!

AJ

Comments

  • jabjab Member Posts: 1
    Hi Alex

    I've just help a collega with the same problem :)
    Variables:
    xmldoc, Automation, 'Microsoft XML, v6.0'.DOMDocument60
    saxReader, Automation, 'Microsoft XML, v6.0'.SAXXMLReader60
    xmlWriter, Automation, 'Microsoft XML, v6.0'.MXXMLWriter60
    xmlFile, File

    CODE:
    CREATE(xmldoc);
    CREATE(saxReader);
    CREATE(xmlWriter);

    xmldoc.loadXML('<Julemand><Nisse id="1"/><Nisse id="2"/></Julemand>');

    xmlWriter.byteOrderMark := TRUE;
    xmlWriter.omitXMLDeclaration := TRUE;
    xmlWriter.indent := TRUE;

    saxReader.contentHandler := xmlWriter;
    saxReader.dtdHandler := xmlWriter;
    saxReader.errorHandler := xmlWriter;
    saxReader.putProperty('http://xml.org/sax/properties/lexical-handler', xmlWriter);
    saxReader.putProperty('http://xml.org/sax/properties/declaration-handler', xmlWriter);

    saxReader.parse(xmldoc);

    xmldoc.loadXML(xmlWriter.output);
    xmldoc.save('c:\filename.xml');
Sign In or Register to comment.