En el ejemplo siguiente se muestra cómo los elementos que se leen de un archivo XML se almacenan en el búfer proporcionado por la aplicación para continuar el procesamiento.
<?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>
NOTA: El comentario y la declaración doctype (DTD) de las líneas 2 y 3 no se leen. Esta información no estará disponible en la aplicación.
PROGRAM SR_Example
VAR
fbRead :FFU.FB_XmlRead;
astXmlItems :FFU.XmlItems;
xCmdRead :BOOL;
END_VAR
fbRead(
i_xExecute := xCmdRead,
i_sFilePath := '/sd0/Example.xml',
i_sXPathItemsToRead := ,
i_xReadElementsOnly := ,
i_refXmlItems := astXmlItems,
q_xDone => ,
q_xBusy => ,
q_xError => ,
etResult => ,
q_sResultMsg => ,
q_udiNumOfItems => ,
q_xWarnValueTruncated => ) ;
El búfer que proporciona la aplicación de tipo XmlItems contiene los elementos y los atributos que se leen del archivo XML.
Para este ejemplo, el valor de la salida q_udiNumOfItems es 8.
|
Índice de matriz |
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 |