• Declaration
  • Properties specific to htmlNode variables
  • Creating a text node
  • WLanguage functions that use htmlNode variables
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WindowsLinuxPHPWEBDEV - Browser code
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Stored procedures
htmlNode (Type of variable)
In french: htmlNoeud
The htmlNode type is used to define all the advanced characteristics of a node of an HTML document. The characteristics of this node 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.
MyDocument is htmlDocument
// Retrieves the document from the HTML Display control
MyDocument = HTM_Source.DisplayedValue
// Get delivery costs when choosing pickup points depending on the weight
// Get the countries
// In thead / 2nd TR / 3 first TD
sCountry1, sCountry2, sCountry3 is string
// Get array of headers
arrHeader is array of htmlNode = MyDocument.FindElementByTag("thead")
// On the first element, take the second child (second TR)
// The first child of this TR is the TD of the first country
// Inside the TD, there can be other tags (span, p) to manage styles
// But the final content is in there, so we can retrieve the InnerHTML from the TD, and
// Convert it "directly" to text
sCountry1 = HTMLToText(arrHeader[1].tr[2].td[1]..InnerHTML)
// The second child of this TR, is the TD of the second country
sCountry2 = HTMLToText(arrHeader[1].tr[2].td[2]..InnerHTML)
// The third child of this TR is the TD of the third country
sCountry3 = HTMLToText(arrHeader[1].tr[2].td[3]..InnerHTML)
sWeight, sPricingCountry1, sPricingCountry2, sPricingCountry3 are strings
// Modifies the table column titles
TABLE_Pricing.COL_Country1.Caption = sCountry1
TABLE_Pricing.COL_Country2.Caption = sCountry2
TABLE_Pricing.COL_Country3.Caption = sCountry3
FOR i = 1 _TO_ 9
// Get the weight and prices per country
sWeight =[i].td[1]..Text
sPricingCountry1 =[i].td[3]..Text
sPricingCountry2 =[i].td[4]..Text
sPricingCountry3 =[i].td[5]..Text
TABLE_Pricing.AddLine(sWeight, sPricingCountry1, sPricingCountry2, sPricingCountry3)

Declaring a node Hide the details

MyVariable is HtmlNode
To describe an HTML node, the name of the node can be specified with the TagName property.

Creating an HTML node Hide the details

MyVariable is HtmlNode (<Tag name>)
<Tag name>: Character string
Name of the node to create.

Properties specific to htmlNode variables

The following properties can be used to handle a node of an HTML document:
Property nameType usedEffect
AttributeArray of htmlAttributeAttributes of an htmlNodeElement node.
ChildNodeArray of htmlNode variablesChild node of an htmlNodeElement node.
CountIntegerNumber of elements with the same name.
This property is read-only.
  • True if the node exists in the document,
  • False otherwise.
This property is read-only.
IndexIntegerIndex of the node in its parent.
This property is read-only.
InnerHTMLCharacter stringHTML code of the sub-nodes in the current node.
OuterHTMLCharacter stringHTML code that includes the current node (including the sub-node).
This property is read-only.
ParenthtmlNode variableParent node, NULL if the node is the root.
This property is read-only.
TagNameCharacter stringName of the tag if the node is an htmlNodeElement node, empty string ("") otherwise.
TextCharacter stringContents of the node encoded in the current character set.
  • If the node is of type htmlNodeText, htmlNodeComment or htmlNodeCDATA, the property returns and modifies the node.
  • If the node is of type htmlNodeElement, the property returns the concatenation of the text of all subnodes.
When a value is assigned to the property, it empties the subnodes and replaces them with a text subnode containing that value.
TypeInteger constantType of node:
  • htmlNodeComment: Comment node.
  • htmlNodeCDATA: CDATA Node (XHTML compatibility).
  • htmlNodeElement: Element node, HTML tag.
  • htmlNodeTexte: Text node.
The following operators are available for a node of type htmlNodeElement:
  • "." operator: The "." operator is used to access subelements by tag name.
  • ":" operator: The ":" operator is used to access attributes by name.
  • [ <index> ] operator: This operator is used to access sibling subelements of the same name by index.
  • [ <name> ] operator: This operator is used to access subelements by tag name.
htmlNodeElement nodes can contain subnodes.
Looping through subnodes
  • "FOR EACH x OF NodeVariable" is used to loop through all the subnodes.
  • "FOR EACH x OF NodeVariable IN-DEPTH" is used to recursively loop through all the subnodes.

Creating a text node

A text node can be declared using one of the following syntaxes:
  • Implicit declaration:
    o is htmlNode
    o.Text = "A"
  • Explicit declaration:
    o is htmlNode
    o.Type = htmlNodeText
    o.Text = "A"

WLanguage functions that use htmlNode variables

Related Examples:
HTML types (HTMLDocument, HTMLNode, HTMLAttribute) Unit examples (WINDEV): HTML types (HTMLDocument, HTMLNode, HTMLAttribute)
[ + ] This example shows how to use the HTMLXxx WLanguage types (HTMLDocument, HTMLNode, HTMLAttribute)
WD HTML Export Training (WINDEV): WD HTML Export
[ + ] This example explains how to export data in HTML format with the WLanguage functions.
The following topics are presented in this example:
1/ the functions for managing the external files for generating the HTML file
2/ the operations performed on the HTML tags
3/ the generation of an HTML report
The generation of an HTML page is performed from the data found in a memory table.
By programming
The principle consists in generating a text file with a "HTM" extension. The WLanguage function named "fWrite" will be used.
This example easily writes the text strings by respecting the syntax of the HTML language.
The principle consists in creating a report on table based on the memory table that was previously filled.
The printout is requested with an HTML output.
WD HTML Page Import Sample components (WINDEV): WD HTML Page Import
[ + ] This example explains how HTML pages can be imported with the WLanguage functions.
The following topics are presented in this example:
1/ how to import an object found on a Web site
2/ how to analyze an HTML file
Summary of the example supplied with WINDEV:
This example is used to save locally an HTML page found on a Web site.
This page is analyzed in order to import all its dependencies (images, applets, and so on). This example is not a Web grabber. It can only be used to download the pages one by one.
The principle used in this example can also be used to retrieve informations from pages whose format is recognized (example: daily retrieval of share values)
Minimum version required
  • Version 26
This page is also available for…
Click [Add] to post a comment