PC SOFT

WINDEVWEBDEV AND WINDEV MOBILE
ONLINE HELP

Home | Sign in | English UK
  • Limitations
  • XML functions and threads
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Runs an XPATH query:
Versions 21 and later
clDoc is xmlDocument = XMLOpen(n, fromString)
c is xpathResult = XMLExecuteXPath(clDoc, "/root/text()")
IF c..IsValue THEN
Trace(c..Value)
ELSE
FOR EACH node OF c..Node
Trace("Node: " + node..Text)
END
FOR EACH attrib OF c..Attribute
Trace("Node: " + attrib..Name)
END
END
New in version 21
clDoc is xmlDocument = XMLOpen(n, fromString)
c is xpathResult = XMLExecuteXPath(clDoc, "/root/text()")
IF c..IsValue THEN
Trace(c..Value)
ELSE
FOR EACH node OF c..Node
Trace("Node: " + node..Text)
END
FOR EACH attrib OF c..Attribute
Trace("Node: " + attrib..Name)
END
END
clDoc is xmlDocument = XMLOpen(n, fromString)
c is xpathResult = XMLExecuteXPath(clDoc, "/root/text()")
IF c..IsValue THEN
Trace(c..Value)
ELSE
FOR EACH node OF c..Node
Trace("Node: " + node..Text)
END
FOR EACH attrib OF c..Attribute
Trace("Node: " + attrib..Name)
END
END
// Load the XML file
MyDoc is string
MyDoc = fLoadText("example.xml")
// Text of query: Find the Index tag
XPATHQuery is string = "Help/Function/Index"
// Create the document
XMLDocument("Example", MyDoc)
IF ErrorOccurred = True THEN
Error("The file is not in XML format.")
RETURN
END
b is boolean
b = XMLExecuteXPath("Example", XPATHQuery)
// Is it a calculation query?
IF b = True AND XMLOut("Example") = True THEN
 // The calculation result is as follows
 Trace("XMLResult=" + XMLResult("Example"))
END
// Is it a selection XPath query?
IF XMLFound("Example") = True THEN
// Browse the result selection
WHILE XMLFound("Example") = True
Trace(XMLPath("Example"))
XMLNext("Example")
END
// Browse completed, end the query
XMLCancelSearch("Example")
END
Syntax

Running an XPATH query on an XML document (syntax kept for backward compatibility) Hide the details

<Result> = XMLExecuteXPath(<Name of XML document> , <Text of XPath query>)
<Result>: Boolean
  • True if the query was run,
  • False otherwise or if no element corresponds to the query.
Reading the result:
  • For a selection query, if the XPATH query has been run, the XML search functions are used to browse the result of the XPATH query.
  • For a calculation query, XMLResult is used to read the result.
<Name of XML document>: Character string (with quotes)
Name of XML document used. This document contains the XML code to study and it was created by XMLDocument.
<Text of XPath query>: Character string (with quotes)
Text of the XPath query to run.
Remarks

Limitations

  • Several XPath browse queries cannot be nested.
  • Syntax 1: Running an XPATH query on an xmlDocument variable:
    • The list of nodes is not sorted.
    • The standard used for the XPath query is XPath 1.0.
  • Syntax 2: Running an XPATH query on an XML document:
    XMLSavePosition and XMLRestorePosition cannot be used to save/restore a position when browsing the result of a select XPath query.

XML functions and threads

If your application uses threads, the XML document is shared between all these threads. See Managing threads for more details.

If the current position in an XML document is modified in a thread, the current position in this XML document is modified for all the threads.
Component : wd240xml.dll
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment