Machine Expert > V2.1 > Logiciel > Bibliothèques, Modèles et Exemples > Bibliothèques > Bibliothèques Génériques > Guide de la bibliothèque FileFormatUtility > Unités organisationnelles de programme (POU) XML > Blocs fonction XML > FB_XmlRead > FB_XmlRead Exemple

FB_XmlRead Exemple

Présentation

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.

Exemple de fichier XML

<?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>
NOTE : Le commentaire et la déclaration du type de document (DTD) aux lignes 2 et 3 ne sont pas lus. Ces informations ne seront pas disponibles dans l'application.

Exemple de programme

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 => ) ;

Mémoire tampon

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

AAA

1

0

1

0

BBB

1st bbb

1

0

2

0

BBB

1

0

3

2

CCC

1

1

4

3

id

1

2

1

5

3

DDD

ddd

1

2

6

5

id

1

2

1

7

5

activate

TRUE

2

2