Decrypt, validate and read large XML files
-
Hi all, I have been looking for a component for Delphi 7 (enterprise edition), which will allow me to do the following: 1) Decrypt specific encrypted nodes in an XML file to a stream. 2) Validate specific nodes against specific schemas (typically this will be the decrypted nodes, which will have their contents described in a encrypted schema) 3) Parse large XML files (several hundreds MB's). Unfortunately, I have not found any components that are capable of this. Does anyone know of a component which will allow me to do the above? Kind regards, Arthur de Beaumont
-
Hi all, I have been looking for a component for Delphi 7 (enterprise edition), which will allow me to do the following: 1) Decrypt specific encrypted nodes in an XML file to a stream. 2) Validate specific nodes against specific schemas (typically this will be the decrypted nodes, which will have their contents described in a encrypted schema) 3) Parse large XML files (several hundreds MB's). Unfortunately, I have not found any components that are capable of this. Does anyone know of a component which will allow me to do the above? Kind regards, Arthur de Beaumont
I think you'll struggle to find a single component to do all that for you. When it comes to de/encryption in Delphi, it's hard to beat dcpcrypt As for your xml documents, just use the classes and interfaces available to you in the XMLDoc, XMLIntf, XMLDOM units. They give you TXMLDocument and IXMLNode, which is all you really need to load up a file and parse its nodes.
-
Hi all, I have been looking for a component for Delphi 7 (enterprise edition), which will allow me to do the following: 1) Decrypt specific encrypted nodes in an XML file to a stream. 2) Validate specific nodes against specific schemas (typically this will be the decrypted nodes, which will have their contents described in a encrypted schema) 3) Parse large XML files (several hundreds MB's). Unfortunately, I have not found any components that are capable of this. Does anyone know of a component which will allow me to do the above? Kind regards, Arthur de Beaumont
abeaumont wrote:
Decrypt specific encrypted nodes in an XML file to a stream.
There is no real way of getting around this, however if I am not mistaken this class allows for events to fire when reading a node/attribute.
abeaumont wrote:
Validate specific nodes against specific schemas (typically this will be the decrypted nodes, which will have their contents described in a encrypted schema)
I haven't needed to use this feature for the component in question, but I suppose fiddling around with that shouldn't be too much of a problem, even if you have to do your manipulation via the component, then use the XML DOM to load the schema.
abeaumont wrote:
Parse large XML files (several hundreds MB's).
This would probably be more a case of the machine that the application will be running on and the efficiency of the XML traversal algorithm that the component uses. However, you must remember that traversing XML documents in itself tends to take longer based on the depth of the nodes. Expect delays in the region of something like:
TimeToLoad = ((XMLFileSize)^NodeDepth)/TraversalEfficiencyOfComponent
... or something to that effect. NOTE: This is a thumbsuck at best, but you will see what I basically mean when you load large XML files. A plus of this component/class is the fact that it does not use the XML DOM at all... AND it is free... which to me is always a bonus :D. Hope this helps :)
Cheers, Glen Vlotman QFTD: "You cannot code for stupidity."