The Easy XML toolkit provides you with all the necessary XML & JSON utilities. With Easy XML you get an Embarcadero and W3C DOM compliant XML parser that can handle AnsiCode, UniCode and UTF-8 XML documents. The DOM Documents are generated by our SAX parser.

Both the Easy XML DOM & JSON document can be used using the standard DOM interfaces (IDOMDocument etc), but can alse be used with the easier to use RAPWAre interfaces (IRwDOMDocument etc) or in an "object" way. This makes working with XML & JSON a lot easier.

Embarcadero (DOM Interfaces):

    DOM := GetDOM('RAPWare');
    XML := DOM.createDocument('', '', nil);
    try
      (XML as IDOMPersist).Load(dlgOpenXML.FileName);
      ... do something with the XML
    finally
      XML := nil;
    endl
  
RAPWare (Interfaces):
    XML := TRwDOMDocument.Create as IRwDOMDocument;
    try
      XML.LoadFromFile(dlgOpenXML.FileName, fmShareDenyNone);
      ... do something with the XML
    finally
      XML := nil;
    end;
  
RAPWare (Objects):
    XML := TRwDOMDocument.Create;
    try
      XML.LoadFromFile(dlgOpenXML.FileName, fmShareDenyNone);
      ... do something with the XML
    finally
      XML.Free;
    end;
  
Some really cool features (but most definetely not all) of the RAPWare XML componentset are:
  • the incredibly fast SAX parser,
  • the fact that it can parse huge XML files without consuming lots of memory,
  • the very powerfull XPATH parser,
  • the many, many, functions that make it a lot easier to loop through or to find XML elements and/or attributes in an XML DOM document,
  • the REST and SOAP server,
  • the SOAP client,
  • the serialization framework,
  • the very powerfull JSONPath parser,
  • that it's possible to use JSON documents as if it were XML data (both for the SAX and DOM parser)
    Use JSON as XML:
        XML := TRwDOMDocument.CreateFromXML(
          '{"id":"file","value":"File","popup":{"menuitem":['+
          '{"caption":"New","onclick":"CreateNewDoc()"}'+
          ',"this does not make sense, but still... it can happen and it's valid JSON",'+
          '{"caption":"Open","onclick":"OpenDoc()"},'+
          '{"caption":"Close","data":{"id":1,"value":null}}]}}';
        try
          edtXmlCode.Lines.Text := XML.FormattedXML;
        finally
          XML.Free;
        end;
          

The best way to find out more about Easy XML is to download and install a trial version. The trial versions contain several examples and a helpfile. You can download a trial version from our download page.

If you have any questions or want more info, you can send a message to info@rapware.com