Followers 0

# XML parser "ChilkatXml"

## 7 posts in this topic

#1 ·  Posted (edited)

This is an example of how you can use the Xml ActiveX component provided by Chilkat for Free even commercial use.

Works on: Microsoft Windows 7, Vista, XP, 2000, 2003 Server, 2008 Server, and Windows 95/98/NT4. (32 bit / 64 bit)

Chilkat Software Inc ("Chilkat") is willing to license the Chilkat XML component and its associated online documentation ("Software") to you only upon the condition that you agree to and accept all of the terms and conditions contained in this LICENSE AGREEMENT ("Agreement"). Please read the terms carefully before downloading and installing the Software.

BY INSTALLING THE SOFTWARE, YOU CONSENT TO BE BOUND BY AND BECOME A PARTY TO THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL OF THE TERMS AND CONDITIONS OF THIS AGREEMENT, DO NOT INSTALL THE SOFTWARE

Software is free. You are allowed to distribute Software by any means of electronic transfer or physical media. Software must be provided free of any charge to the recipient, and may not be modified in any way. All the files included in the original installation must remain intact and unmodified. Software can be used by commercial users. Software files can be freely distributed with another application which adds substantial functionality. It is illegal to repackage the software as your own application and sell it.

RESTRICTIONS:

The license granted hereunder does not permit you to:

a. Modify, translate, reverse engineer, de-compile, disassemble, or create derivative works based on the Software;

b. Sell, rent, lease, grant a security interest in, or otherwise attempt to sell rights to the Software; or

c. Remove or alter any proprietary notices or labels on the Software, documentation or distribution media.

PROHIBITED USES:

The Software is not designed, manufactured or intended for use or resale as on-line control equipment in hazardous environments requiring fail-safe performance, such as in the operation of nuclear facilities, aircraft navigation or communication systems, air traffic control, direct life support machines, or weapons systems, in which the failure of the Software could lead directly to death, personal injury, or severe physical or environmental damage. Accordingly, Chilkat and its licensors prohibit use of the Software in connection with such activities, and specifically disclaim any express or implied warranty of fitness for such activities.

DISCLAIMER OF WARRANTY AND LIABILITY:

USER EXPRESSLY AGREES THAT USE OF THE SOFTWARE AND THE SITE IS AT THE USER'S SOLE RISK. THE SOFTWARE AND THE SITE ARE PROVIDED ON AN "AS IS" BASIS WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, RESULTS, OR OTHERWISE. NEITHER CHILKAT NOR ANY OTHER PARTY INVOLVED IN CREATING, PRODUCING, OR DELIVERING THE SOFTWARE OR THE SITE SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF USE OF THE SOFTWARE OR THE SITE OR INABILITY TO USE THE SOFTWARE OR THE SITE OR OUT OF ANY BREACH OF ANY WARRANTY OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION BASED UPON CONTRACT, NEGLIGENCE OR OTHER TORTIOUS CONDUCT, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE SOFTWARE OR THE SITE. NOTWITHSTANDING THE FOREGOING, THE TOTAL AMOUNT OF CHILKAT’S LIABILITY TO USER SHALL BE LIMITED TO THE AMOUNT USER PAID FOR THE USE OF THE SOFTWARE AND THE SITE, IF ANY.

Chilkat retains all intellectual rights to the data contained in installation files. All rights not expressly granted are reserved by Chilkat. The Chilkat products is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties.

All brands and product names mentioned in this document and in the Software are trademarks of their respective owners.

If you want to see the Documentation, that can be found Here.

Some Examples in Vbscript (That is the closest to AutoIt) can be found Here.

Chilkats Description:

High-level non-validating XML parser component that is free for both commercial and non-commercial use.

• Load/save XML files to an in-memory document object model (DOM).
• Add name/value attribtes to nodes.
• Compress nodes or entire sub-trees using in-memory Zip compression.
• AES encrypt the content of a node.
• Numerous methods for iterating over the nodes in a document.
• Numerous methods for searching and sorting nodes in a document.
• API designed to make it easy to do frequently encountered tasks when working with XML.
• Makes it easy to handle binary data (such as image data) within XML files.
Download contains: 32 bit & 64 bit file compressed with MPRESS, example AutoIt script and related files.

Edited by Aipion

##### Share on other sites

I just looked at the Chilkat site. This is not a free product by any means. Once you have a licence, you can make re-distributable apps (no source from chilkat) which include the material but that's the limit of it pretty well.

WS

~ WhiteStar Magic

Always tuned to http://www.superbluesradio.com/  Tune in at http://87.117.217.41:8036/

##### Share on other sites

I just looked at the Chilkat site. This is not a free product by any means. Once you have a licence, you can make re-distributable apps (no source from chilkat) which include the material but that's the limit of it pretty well.

WS

The XML component is free. At least the download is marked with (Freeware), the description says "free for both commercial and non-commercial use.", the interface contains no "UnlockComponent"-Method, and the description page contains no purchase-link.

*GERMAN* [note: you are not allowed to remove author / modified info from my UDFs]My UDFs:[_SetImageBinaryToCtrl] [_TaskDialog] [AutoItObject] [Animated GIF (GDI+)] [ClipPut for Image] [FreeImage] [GDI32 UDFs] [GDIPlus Progressbar] [Hotkey-Selector] [Multiline Inputbox] [MySQL without ODBC] [RichEdit UDFs] [SpeechAPI Example] [WinHTTP]UDFs included in AutoIt: FTP_Ex (as FTPEx), _WinAPI_SetLayeredWindowAttributes

##### Share on other sites

Maybe I was looking at the wrong one. http://www.chilkatsoft.com/licensingExplained.asp & http://www.chilkatsoft.com/xml-activex.asp is what I was looking at. I see that they have different ones and the one referred to in this post is the freeware one.

WS

I only picked up on the XML parsing because I'm working on a prog that needs to read/write xml data and thought this may be a better / easier solution... now to just figure out how to get AutoIt to generate UUID's.

~ WhiteStar Magic

Always tuned to http://www.superbluesradio.com/  Tune in at http://87.117.217.41:8036/

##### Share on other sites

For a UUID Generator, look at this It would need to be converted to a function.

##### Share on other sites

Maybe this can get you going

MsgBox(0,"GUID Generator",_GenerateGUID ())
Func _GenerateGUID ()
$oScriptlet = ObjCreate ("Scriptlet.TypeLib") Return$oScriptlet.Guid
EndFunc

Rgds

ptrex

1 person likes this

##### Share on other sites

Ohhh no.... I didn't intend this to get hijacked with the UUID thing.

Please, this should be last post for the UUID, there was a previous thread that I missed but replied into it now..

Last night when I was searching in here the forums went offline for maintenance & so did not find anything... now things pop up everywhere.

Thanks a lot PTrex & AdamUL, simply superb!

WhiteStar

~ WhiteStar Magic

Always tuned to http://www.superbluesradio.com/  Tune in at http://87.117.217.41:8036/

## Create an account

Register a new account

Followers 0

• ### Similar Content

• By Simpel
Hi. I'm trying to write a xml. Here is my code:
#include <_XMLDomWrapper.au3> #include <Date.au3> Global $g_sXMLFileName Global$g_sDestPath = @DesktopDir & "\" Global $g_sReturnedBID = "A10829" _makeXML() _AddXML(1, "A10829_Thomas/wav/T001.wav") _AddXML(2, "A10829_Thomas/wav/T002.wav") Exit Func _makeXML() Local$sXMLtime = StringReplace(StringReplace(StringReplace(_NowCalc()," ","_"),":","-"),"/","-") ; in yyyy-mm-dd_hh-mm-ss $g_sXMLFileName =$g_sDestPath & $g_sReturnedBID & "_" & "EB-Ton-Upload" & "_" &$sXMLtime & ".xml" _XMLCreateFile($g_sXMLFileName, "gemagvl", 1,1) _XMLFileOpen($g_sXMLFileName) EndFunc Func _AddXML($iCount,$sDateiname) _XMLCreateRootNodeWAttr("row", "count", $iCount, "") _XMLCreateChildNode("//row", "picklistenname",$g_sReturnedBID & "_EB-Ton-Upload") _XMLCreateChildNode("//row", "picklisteninfo") _XMLCreateChildNode("//row", "bid", $g_sReturnedBID) _XMLCreateChildNode("//row", "audiodateiname",$sDateiname) _XMLCreateChildNode("//row", "titel", StringTrimRight(StringTrimLeft($sDateiname, 7), 4)) _XMLCreateChildNode("//row", "interpret", "EB") _XMLCreateChildNode("//row", "quelle", "Ton") EndFunc It returns: <?xml version="1.0" encoding="UTF-8"?><gemagvl> <row count="1"> <picklistenname>A10829_EB-Ton-Upload</picklistenname> <picklisteninfo/> <bid>A10829</bid> <audiodateiname>A10829_Thomas/wav/T001.wav</audiodateiname> <titel>Thomas/wav/T002</titel> <interpret>EB</interpret> <quelle>Ton</quelle> <picklistenname>A10829_EB-Ton-Upload</picklistenname> <picklisteninfo/> <bid>A10829</bid> <audiodateiname>A10829_Thomas/wav/T002.wav</audiodateiname> <titel>Thomas/wav/T003</titel> <interpret>EB</interpret> <quelle>Ton</quelle> </row> <row count="2"> <picklistenname>A10829_EB-Ton-Upload</picklistenname> <picklisteninfo/> <bid>A10829</bid> <audiodateiname>A10829_Thomas/wav/T002.wav</audiodateiname> <titel>Thomas/wav/T003</titel> <interpret>EB</interpret> <quelle>Ton</quelle> </row> </gemagvl> But it should return: <?xml version="1.0" encoding="UTF-8"?><gemagvl> <row count="1"> <picklistenname>A10829_EB-Ton-Upload</picklistenname> <picklisteninfo/> <bid>A10829</bid> <audiodateiname>A10829_Thomas/wav/T001.wav</audiodateiname> <titel>Thomas/wav/T002</titel> <interpret>EB</interpret> <quelle>Ton</quelle> </row> <row count="2"> <picklistenname>A10829_EB-Ton-Upload</picklistenname> <picklisteninfo/> <bid>A10829</bid> <audiodateiname>A10829_Thomas/wav/T002.wav</audiodateiname> <titel>Thomas/wav/T003</titel> <interpret>EB</interpret> <quelle>Ton</quelle> </row> </gemagvl> The second inserted nodes are double. How will it be going right? Regards, Conrad • By rootx I need help to read in a loop the DVD id child and subchild. Thx Example... DVD001 - PAL - EN,FR,DE,ES,IT and filter the right title & descri language. I tried with$oXML.SelectSingleNode but without success
<?xml version="1.0" encoding="UTF-8"?> <datafile xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="mydvd.xsd"> <dvd name="My dvd title"> <id>DVD001</id> <region>PAL</region> <languages>EN,FR,DE,ES,IT</languages> <locale lang="EN"> <title>title en</title> <descri>descri en</descri> </locale> <locale lang="FR"> <title>title fr</title> <descri>descri fr </descri> </locale> <locale lang="DE"> <title>title de</title> <descri>descri de </descri> </locale> <locale lang="ES"> <title>title es</title> <descri>descri es</descri> </locale> <locale lang="IT"> <title>title it</title> <descri>descri it</descri> </locale> </dvd> <dvd name="My dvd title 2"> <id>DVD002</id> <region>USA</region> <languages>EN</languages> <locale lang="EN"> <title>title en</title> <descri>descri en</descri> </locale> </dvd> </datafile> #include <File.au3> $xml = @ScriptDir&"\test.xml" Local$oXML = ObjCreate("Microsoft.XMLDOM") $oXML.load($xml) $id =$oXML.SelectNodes("//dvd") For $ids In$id ConsoleWrite($ids.text &@CRLF) Next • By mLipok I was asking @eltorro serveral times for any support for XML DOM wrapper (COM) - with no success So I took matters into my hands ..... I want to present XMLWrapperEx.au3 - BETA Version Want to join to the project ? Here is some description: ; #INDEX# ======================================================================================================================= ; Title .........: XMLWrapperEx.au3 ; AutoIt Version : 3.3.10.2++ ; Language ......: English ; Description ...: Functions to use for reading and writing XML using msxml. ; Remarks .......: BETA Version ; Author ........: mLipok ; Version .......: "1.1.1.01" ; _XML_MiscProperty_UDFVersion() #CS This UDF is created on the basis of: https://www.autoitscript.com/forum/topic/19848-xml-dom-wrapper-com/ For this reason, I attach also the last known (to me) previous version ($_XMLUDFVER = "1.0.3.98" _XMLDomWrapper_1.0.3.98_CN.au3 ) For the same reason I continue to recognize the achievements of the work of my predecessors (they are still noted in each Function header). . . . . !!!!!!!!! This is BETA VERSION (all could be changed) !!!!!!!!! . . . WORK IN PROGRES INFORMATION: For now 2015-09-01 the descripion (Function Header) can not entirely correctly describe the function. TODO: in many places I used "TODO" as a keyword to find what should be done in future . I want to: PREVENT THIS: The unfortunate nature of both the scripts is that the func return results are strings or arrays instead of objects. .     I want to: USE THIS CONCEPT:     .   All function should use Refernce to the object as first Function parameter     .   All function should return in most cases objects. There should be separate functions to Change Object collection to array     .   All function should use COM Error Handler in local scope.     .   All function should return @error which are defined in #Region XMLWrapperEx.au3 - @ERROR Enums     .    All function should have the same naming convention     .    All variables should have the same naming convention     .    There should not to be any Global Variable - exception is \$g__oXMLDOM_Events     .   It should be possible easy to use XML DOM Events     .        https://msdn.microsoft.com/en-us/library/ms764697(v=vs.85).aspx     .   It should be possible easy to Debug     .    Ultimately, you should be able to do anything with your XML without having to use your own Error Handler. #CE
REMARK:
This UDF was formerly named:   XMLWrapperEx.au3

• By 31290
Hi Guys,
Since I'm able to get a Dell equipment warranty status thanks to my API key, I'm using an UDF to extract data from an XML file and get the end date. >
Thing is, when using InetGet, the original file is in JSON format and the UDF is not working anymore, even if I download the file with the xml extension. Therefore, and when I manually download the page with Chrome, I have a proper XML file where the UDF is working fine.
Here's my code:
I even tried to convert the json to xml > https://www.autoitscript.com/forum/topic/185717-js-json-to-xml/
I took a look here https://www.autoitscript.com/forum/topic/104150-json-udf-library-fully-rfc4627-compliant/ but I don't understand anything :/

The XML read UDF is just perfect for my needs but I'm stuck here...
-31290-
3MTXM12.json
3MTXM12.xml
• By Zaroz
Alright, this is going to be a rather long explanation so bear with me.
What I am trying to to is build a GUI program that, in the end, will look like this:
The middle Frame is for displaying a desktop icon and the right frame is for displaying a selected image.
The XML file I am using looks like this:
<list> <item id="1"> <ico>Path\to\icon1<\ico> <img>Path\to\image1<\img> <exe>Path\to\program1<\exe> <label>UserDefinedLabel1<\label> <\item> <item id="2"> <ico>Path\to\icon2<\ico> <img>Path\to\image2<\img> <exe>Path\to\program2<\exe> <label>UserDefinedLabel2<\label> <\item> <\list> What I want this program to do is when I highlight an item in the listbox (which btw is displaying the <label> value associated with the item) I want the displayed icon and image to change to the ones associated with that entry.
Also I would like to include an additional dialog to open when the 'ADD' button is clicked that will add entries to the XML file that looks like this:

The main problem I am running into is that I do not know much about XML and how to parse it into dynamic variables that can change based off of selection.
Any help is appreciated.

10-29-16 EDIT: For all intents and purposes, I basically want to create something similar to PStart, but with a preview pane with a customizable image for each item in it.