PC SOFT

WINDEVWEBDEV AND WINDEV MOBILE
ONLINE HELP

Home | Sign in | English UK
This content comes from an automatic translation.
  • Declaring an xmlDocument variable
  • Properties specific to the description of the xmlDocument variables
  • Using the indirection on the paths in an XML document
  • Functions that use the xmlDocument variables
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
The xmlDocument type is used to handle an XML file. The characteristics of this file can be defined and modified by several WLanguage properties.
Remark: See Declaring a variable for more details on the declaration of this type of variable and the use of WLanguage properties.
Versions 17 and later
iPhone/iPad This type of variable is now available for iPhone/iPad applications.
Android This type of variable is now available for Android applications.
Android This type of variable is now available from Android version 2.2.
New in version 17
iPhone/iPad This type of variable is now available for iPhone/iPad applications.
Android This type of variable is now available for Android applications.
Android This type of variable is now available from Android version 2.2.
iPhone/iPad This type of variable is now available for iPhone/iPad applications.
Android This type of variable is now available for Android applications.
Android This type of variable is now available from Android version 2.2.
Versions 21 and later
Universal Windows 10 App This type of variable is now available in Universal Windows 10 App mode.
New in version 21
Universal Windows 10 App This type of variable is now available in Universal Windows 10 App mode.
Universal Windows 10 App This type of variable is now available in Universal Windows 10 App mode.
Example
// Example that is using 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" pane, 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" from the popup menu.
      • "Import an XSD into this project" from the popup 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 now have the ability to access the variable nodes by their names. These names are automatically proposed by the mechanism for automatic completion 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 description of 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".

Remark: These properties can be used with one of the following syntaxes:
  • <Variable name>..<Property name>
  • <Variable name>.<Property name>
Android 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 the 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 in an xmlDocument variable.
XMLSaveSaves an XML document in a file.
XMLValidDocumentValidates an XML document from an XSD schema.
Remark: 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