codesuccessful
Computer says no!
Download XmlPac.library
Simple and straightforward XML parsing and composing library.
VAR XML : FB_XMLControl; Buffer: STRING(GVL_Param_XmlControl.udiMaxFileSize); // or Buffer: ARRAY [0..GVL_Param_XmlControl.udiMaxFileSize] OF BYTE; END_VAR
XML.pBuffer: = ADR (buffer); XML.LenBuffer: = SIZEOF (buffer);
Add your own preferred fileheader like:
<?xml version="1.0" encoding="UTF-8"?>
XML.WriteDocumentHeader( '<?xml version="1.0" encoding="UTF-8"?>');
<MyTag ParaName = "11" />
XML.newTag(sTagName: = 'MyTag'); XML.newParameter(Name: = 'ParaName', Parameter: = 11); XML.CloseTag();
<MyTag> MyText </ MyTag>
XML.newTag(Name := 'MyTag'); XML.newTagData(TagData :='MyText'); XML.CloseTag();
XML.toStartBuffer();
XML.newComment(sTagName: = 'MyComment');
XML.NextTag();
XML.NextParameter(Parameter: = LastValue);
Feedback: Parameter returns the value found (string)
FB_FileControl;
This function block can open, close, read and save from and to a generic plc memory buffer
Note: Files do not neccesarily need to be in a .xml format ;-)
FB_StringBuffer;
This functionblock acts as an IO stream buffer for use with FB_XmlControl
FB_XmlControl:
Organizes parsing and composing of XML data. Data can be treated as STRING or char array.
Filebuffersize can be set via library parameter (Gvl_Param_XmlControl)
Download XmlPac.library