Go Back
XML to JSON Conversion Microservice Helper Example
Publisher
: Lingk Inc
Run In Lingk
Description
This recipe converts some static XML to an JSON for processing. The XML to JSON help service can handle up to 50 MB XML files To use this recipe, click Run!
Browse the knowledge base
Twitter
E-Mail
# _____ _ _____ __ # | __ \ (_) |_ _| / _| # | |__) |___ ___ _ _ __ ___ | | _ __ | |_ ___ # | _ // _ \/ __| | '_ \ / _ \ | | | '_ \| _/ _ \ # | | \ \ __/ (__| | |_) | __/ _| |_| | | | || (_) | # |_| \_\___|\___|_| .__/ \___| |_____|_| |_|_| \___/ # | | # |_| # Project Name - XML TO JSON CONVERSION MICROSERVICE HELPER EXAMPLE # Recipe URL - https://app.lingk.io/a/10932/tf/17821 # Description - # This recipe converts some static XML to an JSON for processing. # The XML to JSON help service can handle up to 50 MB XML files # To use this recipe, click Run! # Industry - Higher Ed # Business Process - Graduate Reporting # Systems - Lingk # Connectors - HTTP # Data Flows - Single Direction # Connection Type - SOAP to API # Add Recipe notes / Change log information here! # _____ _ # / ____| | | # | | ___ _ __ _ __ ___ ___| |_ ___ _ __ ___ # | | / _ \| '_ \| '_ \ / _ \/ __| __/ _ \| '__/ __| # | |___| (_) | | | | | | | __/ (__| || (_) | | \__ \ # \_____\___/|_| |_|_| |_|\___|\___|\__\___/|_| |___/ # # CONNECTORS specify what data will be pulled into the in-memory database during processing connectors: # Configure HTTP credentials in your Environment before running this recipe # HTTP Setup - https://help.lingk.io/en/articles/304-http-connector-setup-guide ###### Start - HTTP Reader connectors ###### # XML Conversion Helper Service - name: xmlConversion type: HTTPReader parameterizedBy: xmlData properties: headersJson: | { "Content-Type":"application/json" } url: https://xmltojson.lingkcloud.com/api/v1/xmltojson httpMethod: POST body: | { "xml":"{{var.xml}}", "nodesAsArray":[ "root.news.item" ] } # XML Conversion Helper Service - name: complexXMLConversion type: HTTPReader parameterizedBy: xmlData properties: headersJson: | { "Content-Type":"application/json" } url: https://xmltojson.lingkcloud.com/api/v1/xmltojson httpMethod: POST body: | { "xml":"{{var.xml}}", "nodesAsArray":[ "catalog.product", "catalog.product.catalog_item", "catalog.product.catalog_item.size", "catalog.product.catalog_item.size.color_swatch" ] } #schemaRef: schemaName # optional from "schemas:" ###### End - HTTP Reader connectors ###### ###### Start - XML example ###### # example xml # <?xml version="1.0"?> # <?xml-stylesheet href="catalog.xsl" type="text/xsl"?> # <!DOCTYPE catalog SYSTEM "catalog.dtd"> # <catalog> # <product description="Cardigan Sweater" product_image="cardigan.jpg"> # <catalog_item gender="Men's"> # <item_number>QWZ5671</item_number> # <price>39.95</price> # <size>Medium"</size> # </catalog_item> # <catalog_item gender="Women's"> # <item_number>RRX9856</item_number> # <price>42.50</price> # <size>Medium"</size> # </catalog_item> # </product> # </catalog> ###### End - XML example ###### ###### Start - JSON/XML examples ###### - name: complexXML type: json properties: jsonObject: | { "data":"<?xml version=\"1.0\"?>\n<?xml-stylesheet href=\"catalog.xsl\" type=\"text\/xsl\"?>\n<!DOCTYPE catalog SYSTEM \"catalog.dtd\">\n<catalog>\n <product description=\"Cardigan Sweater\" product_image=\"cardigan.jpg\">\n <catalog_item gender=\"Mens\">\n <item_number>QWZ5671<\/item_number>\n <price>39.95<\/price>\n <size>Medium<\/size>\n <\/catalog_item>\n <catalog_item gender=\"Womens\">\n <item_number>RRX9856<\/item_number>\n <price>42.50<\/price>\n <size>Medium\"<\/size>\n <\/catalog_item>\n <\/product>\n<\/catalog>" } # complexXML1 Example from: # https://www.service-architecture.com/articles/object-oriented-databases/xml_file_for_complex_data.html - name: complexXML1 type: json properties: jsonObject: | { "data":"<?xml version=\"1.0\"?>\r\n<?xml-stylesheet href=\"catalog.xsl\" type=\"text\/xsl\"?>\r\n<!DOCTYPE catalog SYSTEM \"catalog.dtd\">\r\n<catalog>\r\n <product description=\"Cardigan Sweater\" product_image=\"cardigan.jpg\">\r\n <catalog_item gender=\"Mens\">\r\n <item_number>QWZ5671<\/item_number>\r\n <price>39.95<\/price>\r\n <size description=\"Large\">\r\n <color_swatch image=\"red_cardigan.jpg\">Red<\/color_swatch>\r\n <color_swatch image=\"burgundy_cardigan.jpg\">Burgundy<\/color_swatch>\r\n <\/size>\r\n <\/catalog_item>\r\n <catalog_item gender=\"Womens\">\r\n <item_number>RRX9856<\/item_number>\r\n <price>42.50<\/price>\r\n <size description=\"Small\">\r\n <color_swatch image=\"red_cardigan.jpg\">Red<\/color_swatch>\r\n <color_swatch image=\"navy_cardigan.jpg\">Navy<\/color_swatch>\r\n <color_swatch image=\"burgundy_cardigan.jpg\">Burgundy<\/color_swatch>\r\n <\/size>\r\n <size description=\"Medium\">\r\n <color_swatch image=\"red_cardigan.jpg\">Red<\/color_swatch>\r\n <color_swatch image=\"navy_cardigan.jpg\">Navy<\/color_swatch>\r\n <color_swatch image=\"burgundy_cardigan.jpg\">Burgundy<\/color_swatch>\r\n <color_swatch image=\"black_cardigan.jpg\">Black<\/color_swatch>\r\n <\/size>\r\n <size description=\"Large\">\r\n <color_swatch image=\"navy_cardigan.jpg\">Navy<\/color_swatch>\r\n <color_swatch image=\"black_cardigan.jpg\">Black<\/color_swatch>\r\n <\/size>\r\n <size description=\"Extra Large\">\r\n <color_swatch image=\"burgundy_cardigan.jpg\">Burgundy<\/color_swatch>\r\n <color_swatch image=\"black_cardigan.jpg\">Black<\/color_swatch>\r\n <\/size>\r\n <\/catalog_item>\r\n <\/product>\r\n<\/catalog>" } ###### End - JSON/XML sample ###### # _____ _ _ _ # / ____| | | | | | # | (___ | |_ __ _| |_ ___ _ __ ___ ___ _ __ | |_ ___ # \___ \| __/ _` | __/ _ \ '_ ` _ \ / _ \ '_ \| __/ __| # ____) | || (_| | || __/ | | | | | __/ | | | |_\__ \ # |_____/ \__\__,_|\__\___|_| |_| |_|\___|_| |_|\__|___/ # STATEMENTS specify how the data should be processed while in memory statements: #******************************************************************** D I S C L A I M E R *********************************************************************************************** # * # Note that in an effort to keep recipes optimized for DPH (Data Processing Hours), print statements should be commented out after development has concluded for a recipe. * # For more information on DPH optimization, please visit the following help article - https://help.lingk.io/en/articles/212-minimizing-data-processing-hours-on-the-lingk-platform * # * #******************************************************************** D I S C L A I M E R *********************************************************************************************** # NOTE: You can add trasformations into your - statement: (xmlData) => SELECT base64('<root><news><item>fad</item></news></root>') xml #- statement: print xmlData - statement: refresh xmlConversion #- statement: print xmlConversion - statement: (xmlData) => SELECT base64('<root><news><item>abc</item><item>fad</item></news></root>') xml #- statement: print xmlData - statement: refresh xmlConversion #- statement: print xmlConversion - statement: (xmlData) => SELECT base64('<root><news><item id="1">abc</item><item>fad</item></news></root>') xml #- statement: print xmlData - statement: refresh xmlConversion #- statement: print xmlConversion #- statement: print complexXML - statement: (xmlData) => SELECT base64(data) xml from complexXML #- statement: print xmlData - statement: refresh complexXMLConversion #- statement: print complexXMLConversion #- statement: print complexXML1 - statement: (xmlData) => SELECT base64(data) xml from complexXML1 #- statement: print xmlData - statement: refresh complexXMLConversion #- statement: print complexXMLConversion # Add more statements to convert, join, aggregrate, transform, and integrate your data
Cross Join of Two Tables
Email Microservice Helper Example