4 posts in this topic
I need help to read in a loop the DVD id child and subchild. Thx
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
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 : 188.8.131.52++ ; 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 = "184.108.40.206" _XMLDomWrapper_220.127.116.11_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
More info inside zip archive.
This UDF can be downloaded from here:
This UDF was formerly named: XMLWrapperEx.au3
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...
Thanks for any help you can provide
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.
Any internal xml API to parse and edit XML files in AutoIT?