NsisXML plug-in (by Wizou): Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
m (XML manipulation (based on MSXML) moved to NsisXML plug-in (Wizou))
m (NsisXML plug-in (Wizou) moved to NsisXML plug-in (by Wizou))

Revision as of 15:58, 26 December 2005

Author: Wizou (talk, contrib)


NOTE: The name of this plug-in conflicts with Joel's nsisXML.

Links

nsisXML plug-in homepage

Description

nsisXML -- Small NSIS plugin to manipulate XML data through MSXML written by Olivier Marcoux

The following is taken from the readme file in the downloadable zip file:

You can typically use it to:
- create, read, modify, write XML files
- create, remove, search XML nodes
- set/get nodes content or attributes

Usage
-----
nsisXML::create
	creates an empty XML document in memory and returns its reference in $0 and $1

nsisXML::load <filename>
	load given XML file into document $0
	REQUIRES that an XML document be already created in $0
	(if XML document $0 is not empty, all content will be discarded)
	sets $0 to 0 if an error occurred

nsisXML::save <filename>
	saves current document $0 to given file

nsisXML::createProcessingInstruction <target> <data>
	creates a new 'processing instruction' node and return its reference in $2

nsisXML::createElement <tag name>
	creates a new element node with given tag name (initially empty) and return its
	reference in $2

nsisXML::appendChild
	appends node $2 as a child of node $1

nsisXML::setAttribute <attribute name> <value>
	sets the given attribute with the given value on node $2

nsisXML::getAttribute <attribute name>
	returns in $3 the value for the given attribute name of node $2
	if attribute is not found, returns an empty string

nsisXML::setText <content text>
	sets the text content of the node $2 (<>the text between the tags</>)

nsisXML::getText
	returns in $3 the text content for node $2

nsisXML::select <XPath expression>
	find the first node matching the given XPath expression and return its
	reference in $1 and $2
	if not found, reference will be 0

nsisXML::parentNode
	returns in $1 the reference on the parent node of node $2

nsisXML::removeChild
	removes node $2 from the childs list of node $1