XMLFindElement (FB)

FUNCTION_BLOCK XMLFindElement

Finds a xml element by name and attribute. Use the function block XMLFindElementAsync for large XML files to find the value asynchronously. To read from file set sFileName to file path and paDataArray = 0. To read from data array set sFileName = ‘’ and paDataArray to data pointer.

InOut:

Scope

Name

Type

Initial

Comment

Input

sFileName

STRING(255)

Path to a xml file

wsElement

WSTRING(gc_udiMaxValueSize)

The element to find. if blank, the root element will be returend.

attribute

XMLElement

Attributes of the xml element to find.

readMode

READ_MODE

Read mode

paElements

POINTER TO XMLElement

Pointer to the result set

udiMaxElements

UDINT

Maximum size of paElements

udiStartPosition

UDINT

0

Start position in bytes

xTruncateValues

BOOL

FALSE

true: All values that exceed the maximum value size will be truncated

paDataArray

POINTER TO BYTE

0

Pointer to XML data array, if 0 read from file (sFileName)

udiDataArraySize

UDINT

0

Size of paDataArray

Output

eError

ERROR

Error

udiCountElements

UDINT

Number of elemnents in paElements

udiNextReadPos

UDINT

Position in file (in bytes) of the next xml element, 0 if last element

eEncoding

Encoding

Encoding of the xml file