User Guide

Using the XML Parser Xtra 547
The gParserObject variable contains the parsed XML. When used in the preceding Lingo, it
refers to the root node of the XML document. The Lingo term
child[1] refers to the first level
of nested tag, which is the e1 tag.
To find out what kind of node the first tag is, use the
type function, as shown in the following
example:
put gParserObject.child[1].type
-- #element
To refer to nodes that are nested more than one level deep, use more than one level of child
reference. The following Lingo returns the name of the first tag that is nested within the
e1 tag:
put gParserObject.child[1].child[1].name
-- "tagName"
The following Lingo returns the name of the second tag that is nested within the e1 tag:
put gParserObject.child[1].child[2].name
-- "e2"
To refer to text data that occurs within a particular tag, use the text property. The text is a child
node of the tag that contains it, so you need an additional level of child reference. This Lingo
returns the following string, which appears inside the
e2 tag from the previous XML example:
put gParserObject.child[1].child[2].child[1].text
-- "element 2"
In this example, the gParserObject variable refers to the root node of the XML. The child[1]
refers to the
e1 tag, which occupies the first level down in the XMLs nested structure. The
child[2] refers to the second tag within the e1 tag, which is the e2 tag. The last child[1] refers
to the text within the e2 tag, which is element 2. Finally, the text property is specified, so Lingo
returns the text of the node rather than any other property of the node.
The fourth child of the
e1 tag is a line of text that reads here is some text. This text is a child
the same as the XML tags that precede it. You can get the type of this child the same way you get
other children.
The following Lingo returns the type of the fourth child of the
e1 tag:
put gParserObject.child[1].child[4].type
-- #text
This Lingo returns the text of the fourth child of the e1 tag, as shown in the following example:
put gParserObject.child[1].child[4].text
-- "
here is some text
"
The text element includes the white space for Return, Space, and Tab characters as well as the
string
"here is some text".
You can use the Lingo
count function to determine the number of children that exist at a
particular level of the XML structure. The following Lingo returns the number of children at the
2nd level in the previous XML example:
put gparser.child[1].child.count
-- 4