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 XML’s 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
Summary of Contents for DIRECTOR MX-USING DIRECTOR MX
Page 1: ...Using Director MX Macromedia Director MX...
Page 12: ...Contents 12...
Page 156: ...Chapter 4 156...
Page 202: ...Chapter 6 202...
Page 244: ...Chapter 7 244...
Page 292: ...Chapter 10 292...
Page 330: ...Chapter 12 330...
Page 356: ...Chapter 13 356...
Page 372: ...Chapter 14 372...
Page 442: ...Chapter 16 442...
Page 472: ...Chapter 18 472...
Page 520: ...Chapter 19 520...
Page 536: ...Chapter 20 536...
Page 562: ...Chapter 23 562...
Page 566: ...Chapter 24 566...
Page 602: ...Chapter 27 602...