L'exemple suivant illustre la manière dont les éléments lus dans un fichier XML sont stockés dans la mémoire tampon fournie par l'application en vue de leur traitement.
<?xml version="1.0" encoding="ASCII"?>
<!--This is the user comment.-->
<!DOCTYPE AAA SYSTEM "example.dtd">
<AAA>
<BBB>1st bbb</BBB>
<BBB>
<CCC id="1">
<DDD id="1" activate="TRUE">ddd</DDD>
</CCC>
</BBB>
</AAA>
PROGRAM SR_Example
VAR
fbRead :FFU.FB_XmlRead;
astXmlItems :FFU.XmlItems;
xCmdRead :BOOL;
END_VAR
fbRead(
i_xExecute := xCmdRead,
i_sFilePath := 'myfiles/Example.xml',
i_sXPathItemsToRead := ,
i_xReadElementsOnly := ,
i_refXmlItems := astXmlItems,
q_xDone => ,
q_xBusy => ,
q_xError => ,
etResult => ,
q_sResultMsg => ,
q_udiNumOfItems => ,
q_xWarnValueTruncated => ) ;
La mémoire tampon fournie par l'application de type XmlItems contient les éléments et les attributs lus dans le fichier XML.
Dans cet exemple, la sortie q_udiNumOfItems a la valeur 8
.
Index de tableau |
diParentIndex |
sName |
sValue |
etType |
diNumOfAttributes |
---|---|---|---|---|---|
0 |
-1 |
|
– |
1 |
0 |
1 |
0 |
|
|
1 |
0 |
2 |
0 |
|
– |
1 |
0 |
3 |
2 |
|
– |
1 |
1 |
4 |
3 |
|
|
2 |
1 |
5 |
3 |
|
|
1 |
2 |
6 |
5 |
|
|
2 |
1 |
7 |
5 |
|
|
2 |
2 |