Jump to content

Component: XML JSON Parser (Runtime Tools): Difference between revisions

From Flowcode Help
Created page with "{| style="width:50%" |- | width="20%" style="color:gray;" | Author | MatrixTSL |- | width="20%" style="color:gray;" | Version | 1.0 |- | width="20%" style="color:gray;..."
 
m Text replacement - "width="90%" style="background-color:#D8C9D8; color:#4B008D;"" to "width="90%" class="mtx-class-macrohead""
 
(12 intermediate revisions by 2 users not shown)
Line 17: Line 17:
==Component Source Code==
==Component Source Code==


Please click here for the component source code: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_XMLParser.fcfx FC_Comp_Source_XMLParser.fcfx]
Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_XMLParser.fcfx FC_Comp_Source_XMLParser.fcfx]
 
Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_XMLParser.fcfx FC_Comp_Source_XMLParser.fcfx]


==Detailed description==
==Detailed description==


''No detailed description exists yet for this component''
''No detailed description exists yet for this component''


==Examples==
==Examples==


''<span style="color:red;">No additional examples</span>''
''<span style="color:red;">No additional examples</span>''


==Downloadable macro reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
 
 
 
 
 
 
 
 
 
==Macro reference==
 
===AddObject===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetObjectString'''
| width="90%" class="mtx-class-macrohead" | '''AddObject'''
|-
|-
| colspan="2" | Sets the data string of an existing object.&nbsp;
| colspan="2" | Adds a tag at the selected location.  Use the GetRootHandle and runtime API Tree functions . Returns the handle of the new object.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" | Object
| width="90%" | ParentObject
|-
| colspan="2" | The Object Handle to store the new tag inside&nbsp;
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Tag
|-
|-
| colspan="2" | Handle to the object&nbsp;
| colspan="2" | Name of the object&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Data
| width="90%" | Data
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | data for the object (optional)&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===BuildJSONString===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetRootHandle'''
| width="90%" class="mtx-class-macrohead" | '''BuildJSONString'''
|-
|-
| colspan="2" | Allows for user to step through the objects manually using the inbuilt runtime api calls.&nbsp;
| colspan="2" | Generate a JSON string based on the current objects inside the component.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===BuildXMLString===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FindObject'''
| width="90%" class="mtx-class-macrohead" | '''BuildXMLString'''
|-
|-
| colspan="2" | Finds the first instance of an object. Returns the first matching path from the root. Returns 0 if the path was not found.&nbsp;
| colspan="2" | Generate a XML string based on the current objects inside the component.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | ObjPath
|-
| colspan="2" | e.g. "rss.channel.title"&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ClearObjects===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FindObjectString'''
| width="90%" class="mtx-class-macrohead" | '''ClearObjects'''
|-
|-
| colspan="2" | Searches for and then collects the data string from the specified path. Returns the first matching path from the root.&nbsp;
| colspan="2" | Deletes all object data ready for fresh input&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" | ObjPath
|-
| colspan="2" | e.g. "rss.channel.title"&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===DeleteObject===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''AddObject'''
| width="90%" class="mtx-class-macrohead" | '''DeleteObject'''
|-
|-
| colspan="2" | Adds a tag at the selected location.  Use the GetRootHandle and runtime API Tree functions . Returns the handle of the new object.&nbsp;
| colspan="2" | Deletes a selected tag object.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" | ParentObject
| width="90%" | Object
|-
| colspan="2" | Handle to the object&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
 
 
===FindNextObject===
{| class="mtx-class-macrotable wikitable"
|-
|-
| colspan="2" | The Object Handle to store the new tag inside&nbsp;
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''FindNextObject'''
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| colspan="2" | Finds the next instance of an object following a GetObject* call. Returns the first matching path from the last search. Returns 0 if the path was not found.&nbsp;
| width="90%" | Tag
|-
|-
| colspan="2" | Name of the object&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Data
| width="90%" | SubObjPath
|-
|-
| colspan="2" | data for the object (optional)&nbsp;
| colspan="2" | e.g. "item.title"&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
Line 129: Line 170:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===FindNextObjectString===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FindNextObject'''
| width="90%" class="mtx-class-macrohead" | '''FindNextObjectString'''
|-
|-
| colspan="2" | Finds the next instance of an object following a GetObject* call. Returns the first matching path from the last search. Returns 0 if the path was not found.&nbsp;
| colspan="2" | Searches for and then collects the data string from the specified path. Returns the first matching path from the last search&nbsp;
|-
|-
|-
|-
Line 142: Line 184:
| colspan="2" | e.g. "item.title"&nbsp;
| colspan="2" | e.g. "item.title"&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===FindObject===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ParseJSONDataString'''
| width="90%" class="mtx-class-macrohead" | '''FindObject'''
|-
|-
| colspan="2" | Parses JSON formatted data in a piecemeal format as and when file data is available. Creates objects to store the contents of the JSON &nbsp;
| colspan="2" | Finds the first instance of an object. Returns the first matching path from the root. Returns 0 if the path was not found.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Data
| width="90%" | ObjPath
|-
|-
| colspan="2" | JSON Data string, can be a chunk of a file at a time&nbsp;
| colspan="2" | e.g. "rss.channel.title"&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" | Length
|-
| colspan="2" | Number of Bytes to process&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===FindObjectString===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetObjectString'''
| width="90%" class="mtx-class-macrohead" | '''FindObjectString'''
|-
|-
| colspan="2" | Collects the data string from the specified object.&nbsp;
| colspan="2" | Searches for and then collects the data string from the specified path. Returns the first matching path from the root.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Object
| width="90%" | ObjPath
|-
|-
| colspan="2" | Handle to the object&nbsp;
| colspan="2" | e.g. "rss.channel.title"&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
Line 188: Line 227:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetObjectString===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ClearObjects'''
| width="90%" class="mtx-class-macrohead" | '''GetObjectString'''
|-
| colspan="2" | Collects the data string from the specified object.&nbsp;
|-
|-
| colspan="2" | Deletes all object data ready for fresh input&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" | Object
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| colspan="2" | Handle to the object&nbsp;
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetObjectTag===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''GetObjectTag'''
| width="90%" class="mtx-class-macrohead" | '''GetObjectTag'''
|-
|-
| colspan="2" | Collects the tag string from the specified object.&nbsp;
| colspan="2" | Collects the tag string from the specified object.&nbsp;
Line 219: Line 265:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===GetRootHandle===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BuildXMLString'''
| width="90%" class="mtx-class-macrohead" | '''GetRootHandle'''
|-
|-
| colspan="2" | Generate a XML string based on the current objects inside the component.&nbsp;
| colspan="2" | Allows for user to step through the objects manually using the inbuilt runtime api calls.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ParseJSONDataString===
{| class="mtx-class-macrotable wikitable"
|-
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" class="mtx-class-macrohead" | '''ParseJSONDataString'''
|-
| colspan="2" | Parses JSON formatted data in a piecemeal format as and when file data is available.  Creates objects to store the contents of the JSON &nbsp;
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''DeleteObject'''
|-
|-
| colspan="2" | Deletes a selected tag object.&nbsp;
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Data
|-
|-
| colspan="2" | JSON Data string, can be a chunk of a file at a time&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" | Object
| width="90%" | Length
|-
|-
| colspan="2" | Handle to the object&nbsp;
| colspan="2" | Number of Bytes to process&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-bool-icon.png]] - BOOL
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===ParseXMLDataString===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''FindNextObjectString'''
| width="90%" class="mtx-class-macrohead" | '''ParseXMLDataString'''
|-
|-
| colspan="2" | Searches for and then collects the data string from the specified path. Returns the first matching path from the last search&nbsp;
| colspan="2" | Parses XML formatted data in a piecemeal format as and when file data is available. Creates objects to store the contents of the XML.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | SubObjPath
| width="90%" | Data
|-
|-
| colspan="2" | e.g. "item.title"&nbsp;
| colspan="2" | XML Data string, can be a chunk of a file at a time&nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" | Length
|}
 
 
{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| colspan="2" | Number of bytes to process&nbsp;
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''BuildJSONString'''
|-
|-
| colspan="2" | Generate a JSON string based on the current objects inside the component.&nbsp;
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetObjectString===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''SetObjectTag'''
| width="90%" class="mtx-class-macrohead" | '''SetObjectString'''
|-
|-
| colspan="2" | Sets the tag name of an existing object.&nbsp;
| colspan="2" | Sets the data string of an existing object.&nbsp;
|-
|-
|-
|-
Line 295: Line 342:
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Tag
| width="90%" | Data
|-
|-
| colspan="2" | &nbsp;
| colspan="2" | &nbsp;
Line 304: Line 351:




{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
===SetObjectTag===
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-comp-macro.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''ParseXMLDataString'''
| width="90%" class="mtx-class-macrohead" | '''SetObjectTag'''
|-
|-
| colspan="2" | Parses XML formatted data in a piecemeal format as and when file data is available.  Creates objects to store the contents of the XML.&nbsp;
| colspan="2" | Sets the tag name of an existing object.&nbsp;
|-
|-
|-
|-
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="10%" align="center" | [[File:Fc9-h32-icon.png]] - HANDLE
| width="90%" | Data
| width="90%" | Object
|-
|-
| colspan="2" | XML Data string, can be a chunk of a file at a time&nbsp;
| colspan="2" | Handle to the object&nbsp;
|-
|-
| width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
| width="10%" align="center" | [[File:Fc9-string-icon.png]] - STRING
| width="90%" | Length
| width="90%" | Tag
|-
|-
| colspan="2" | Number of bytes to process&nbsp;
| colspan="2" | &nbsp;
|-
|-
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
| width="90%" style="border-top: 2px solid #000;" | ''Return''
| width="90%" style="border-top: 2px solid #000;" | ''Return''
|}
|}




==Property reference==
==Property reference==


{| class="wikitable" style="width:60%; background-color:#FFFFFF;"
{| class="mtx-class-macrotable wikitable"
|-
|-
| width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
| width="10%" align="center" class="mtx-class-macrohead" | [[File:Fc9-prop-icon.png]]
| width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties'''  
| width="90%" class="mtx-class-macrohead" | '''Properties'''  
|-
|-
|}
|}

Latest revision as of 14:23, 13 July 2026

Author MatrixTSL
Version 1.0
Category Runtime Tools


XML JSON Parser component

A component designed to simplify the collection of data from XML and JSON sources. Parses the raw data and creates a dynamic representation of the data that is easy to navigate and interrogate. Also allows the objects to be manually created or edited and then re-exported as XML or JSON format.

Component Source Code

Please click here to download the component source project: FC_Comp_Source_XMLParser.fcfx

Please click here to view the component source code (Beta): FC_Comp_Source_XMLParser.fcfx

Detailed description

No detailed description exists yet for this component

Examples

No additional examples






Macro reference

AddObject

AddObject
Adds a tag at the selected location. Use the GetRootHandle and runtime API Tree functions . Returns the handle of the new object. 
- HANDLE ParentObject
The Object Handle to store the new tag inside 
- STRING Tag
Name of the object 
- STRING Data
data for the object (optional) 
- HANDLE Return


BuildJSONString

BuildJSONString
Generate a JSON string based on the current objects inside the component. 
- STRING Return


BuildXMLString

BuildXMLString
Generate a XML string based on the current objects inside the component. 
- STRING Return


ClearObjects

ClearObjects
Deletes all object data ready for fresh input 
- VOID Return


DeleteObject

DeleteObject
Deletes a selected tag object. 
- HANDLE Object
Handle to the object 
- BOOL Return


FindNextObject

FindNextObject
Finds the next instance of an object following a GetObject* call. Returns the first matching path from the last search. Returns 0 if the path was not found. 
- STRING SubObjPath
e.g. "item.title" 
- HANDLE Return


FindNextObjectString

FindNextObjectString
Searches for and then collects the data string from the specified path. Returns the first matching path from the last search 
- STRING SubObjPath
e.g. "item.title" 
- STRING Return


FindObject

FindObject
Finds the first instance of an object. Returns the first matching path from the root. Returns 0 if the path was not found. 
- STRING ObjPath
e.g. "rss.channel.title" 
- HANDLE Return


FindObjectString

FindObjectString
Searches for and then collects the data string from the specified path. Returns the first matching path from the root. 
- STRING ObjPath
e.g. "rss.channel.title" 
- STRING Return


GetObjectString

GetObjectString
Collects the data string from the specified object. 
- HANDLE Object
Handle to the object 
- STRING Return


GetObjectTag

GetObjectTag
Collects the tag string from the specified object. 
- HANDLE Object
Handle to the object 
- STRING Return


GetRootHandle

GetRootHandle
Allows for user to step through the objects manually using the inbuilt runtime api calls. 
- HANDLE Return


ParseJSONDataString

ParseJSONDataString
Parses JSON formatted data in a piecemeal format as and when file data is available. Creates objects to store the contents of the JSON  
- STRING Data
JSON Data string, can be a chunk of a file at a time 
- UINT Length
Number of Bytes to process 
- VOID Return


ParseXMLDataString

ParseXMLDataString
Parses XML formatted data in a piecemeal format as and when file data is available. Creates objects to store the contents of the XML. 
- STRING Data
XML Data string, can be a chunk of a file at a time 
- UINT Length
Number of bytes to process 
- VOID Return


SetObjectString

SetObjectString
Sets the data string of an existing object. 
- HANDLE Object
Handle to the object 
- STRING Data
 
- VOID Return


SetObjectTag

SetObjectTag
Sets the tag name of an existing object. 
- HANDLE Object
Handle to the object 
- STRING Tag
 
- VOID Return


Property reference

Properties