Kbase P32544: How to display the text content of an XML element?
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  9/3/2008 |
|
Status: Unverified
GOAL:
How to display the text content of an XML element?
FACT(s) (Environment):
Progress 9.x
OpenEdge 10.x
All Supported Operating Systems
FIX:
<PRE>
/*** The following code walks the XML document tree and messages the number ***/
/*** NAME, TYPE, SUBTYPE and the NODE-VALUE of the text child of all nonempty**/
/*** elements in a given XML document. ***/
DEFINE VARIABLE hDocument AS HANDLE.
DEFINE VARIABLE hRoot AS HANDLE.
DEFINE VARIABLE hChild AS HANDLE NO-UNDO.
DEFINE VARIABLE hText AS HANDLE.
DEFINE VARIABLE iCounter AS INTEGER NO-UNDO.
CREATE X-DOCUMENT hDocument.
CREATE X-NODEREF hRoot.
CREATE X-NODEREF hChild.
CREATE X-NODEREF hText.
hDocument:LOAD("FILE","ThreeChildNode.xml",FALSE).
hDocument:GET-DOCUMENT-ELEMENT(hRoot).
REPEAT iCounter = 1 TO hRoot:NUM-CHILDREN:
hRoot:GET-CHILD(hChild,iCounter).
IF hChild:SUBTYPE <> 'ELEMENT' OR hChild:NUM-CHILDREN = 0 THEN
NEXT.
hChild:GET-CHILD(hText,1).
MESSAGE
"Child Number ~t" iCounter "~n"
"Child Name ~t" hChild:NAME "~n"
"Child Subtype ~t" hChild:SUBTYPE "~n"
"Child NodeValue ~t" hText:NODE-VALUE "~n"
VIEW-AS ALERT-BOX INFO BUTTONS OK.
END.
</PRE>