ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Help / WLanguage / WLanguage functions / Standard functions / XML file functions
  • Declaring an xmlDocument variable
  • Properties specific to the xmlDocument variables
  • Using the indirection on the paths in an XML document
  • Functions that use xmlDocument variables
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Others
Stored procedures
The xmlDocument type is used to handle an XML file. The characteristics of this file can be defined and changed using different WLanguage properties.
Remark: For more details on the declaration of this type of variable and the use of WLanguage properties, see Declaring a variable.
Example
// Example that uses the following XML file: play.xml
// <?xml version="1.0"?>
// <PLAY>
// <TITLE>Title of the play</TITLE>
//
// <PERSONAE>
// <PERSONA>A character</PERSONA>
// </PERSONAE>
//
// <ACT>
// <SCENE>
// <SPEAKER></SPEAKER>
// <LINE></LINE>
// </SCENE>
// </ACT>
// </PLAY>
 
// Declare an xmlDocument variable that is using a document template
RomeoAndJuliet is xmlDocument, description = "play.xml"
 
// Load an XML document from a file
RomeoAndJuliet = XMLOpen("romeo_and_juliet.xml", fromFile)
 
// Display the version number of the XML
Trace(RomeoAndJuliet..Version)
 
// Display the title of the play by accessing the nodes directly
Trace(RomeoAndJuliet.PLAY.TITLE)
Remarks

Declaring an xmlDocument variable

The xmlDocument variables can be declared by indicating a sample document (XML file) or a template document (XSD file). The structure of this document will be read by WINDEV, WEBDEV and WINDEV Mobile. Therefore, the automatic completion will be available for the names of nodes in the code editor.
To declare an xmlDocument variable with a sample document:
  1. Add the XML document into the project via one of the following methods:
    • on the "Project" tab, in the "Project" group, expand " List of elements" and click "List of project elements". The list of project elements is displayed. Click the "Add" button and select the XML document.
    • drag the file and drop it in the "External descriptions" folder of the "Project explorer" pane.
    • in the "Project explorer" pane, select the "External descriptions" folder, then:
      • "Import an XML or JSON into this project" in the context menu.
      • "Import an XSD into this project" in the context menu.
  2. The XML document appears in the "External descriptions" folder of the project explorer. You have the ability to see its structure.
  3. Declare the variable as follows:
    <Variable name> is xmlDocument, description =  <Document name>

    <Document name> can correspond to the name of sample document (with or without extension) or to the name of template document (with or without extension).
    Remarks:
    • This declaration can be obtained automatically by "dropping" the name of the XML document directly from the "Project Explorer" pane.
    • When using a sample document, you also have the ability to use the following syntax:
      <Variable name> is xmlDocument
      <Variable name> = XMLOpen(<Document name>)
  4. You can directly access the variable nodes by their names. These names are automatically proposed by the automatic completion mechanism of the code editor.
Remark: XMLSave is used to save the XML document. If an XSD file was used, it will be automatically taken into account.

Properties specific to the xmlDocument variables

The following properties can be used to handle an xmlDocument variable:
NameType usedEffect
EncodingCharacter stringEncoding used for the character strings of the XML document. The UTF-8 encoding is used if this property is not specified or if it is set to "" (empty string). This is the case for example during a conversion into string with XMLBuildString.
RootNodeArray of xmlNodeArray of root nodes of the XML document.
A valid XML document must have a single root node. However, several nodes can be found at the root when building the document.
VersionCharacter stringVersion of the XML format. In most cases, this property is set to "1.0".

AndroidJava Caution: The iteration order is not necessarily the order in which the attributes are declared in the document (in most cases, the attributes are listed in alphabetical order).

Using the indirection on the paths in an XML document

The indirection operators can be used to build the path of an element in an XML document.
Example:
sXMLDoc is string = [
<?xml version="1.0" encoding="UTF-8"?>
<Document>
<VersionInfo>
<Version>21</Version>
<Year>2016</Year>
</VersionInfo>
</Document>
]
 
xmlExample is xmlDocument = XMLOpen(sXMLDoc, fromString)
 
sParam is string = "WINDEV_Param"
 
// Direct reading of information ...
Trace(xmlExample.Document.VersionInfo.Version)
 
// Reading with part of XML path found in a variable
// (idem if file item, window parameter, method, ...)
sParameter is string = "VersionInfo"
Trace({"xmlExample.Document." + sParameter + ".Version"})

Functions that use xmlDocument variables

XMLBuildStringRetrieves and formats the content of an XML document (created by XMLDocument and modified by the XML functions).
XMLOpenLoads an XML document from a file, a URL or a string into an xmlDocument variable.
XMLSaveSaves an XML document in a file.
XMLValidDocumentValidates an XML document from an XSD schema.
Note: The browse of an XMLDocument variable must be performed by using the FOR EACH syntax. XMLRead must not be used.
Minimum version required
  • Version 15
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 01/26/2023

Send a report | Local help