{"id":18889085,"url":"https://github.com/vikrantdeshpande09876/xml_to_csv_rep","last_synced_at":"2026-05-05T21:31:19.005Z","repository":{"id":45331590,"uuid":"237739724","full_name":"vikrantdeshpande09876/XML_to_CSV_Rep","owner":"vikrantdeshpande09876","description":"A Flask app with an easy-to-use frontend that's intended for generating a configuration excel, given an input XML/XSD file (ie- Extensible Markup format to Relational schema)","archived":false,"fork":false,"pushed_at":"2023-05-01T21:26:03.000Z","size":49870,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-31T13:08:50.296Z","etag":null,"topics":["csv","flask","html-css-javascript","javascript","python","xml"],"latest_commit_sha":null,"homepage":"https://xmlxsdparser.herokuapp.com/home","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vikrantdeshpande09876.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2020-02-02T08:16:05.000Z","updated_at":"2022-08-02T17:07:21.000Z","dependencies_parsed_at":"2025-05-24T03:12:16.495Z","dependency_job_id":"19c43435-b2cc-4e66-aace-71eff0d44df8","html_url":"https://github.com/vikrantdeshpande09876/XML_to_CSV_Rep","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/vikrantdeshpande09876/XML_to_CSV_Rep","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikrantdeshpande09876%2FXML_to_CSV_Rep","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikrantdeshpande09876%2FXML_to_CSV_Rep/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikrantdeshpande09876%2FXML_to_CSV_Rep/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikrantdeshpande09876%2FXML_to_CSV_Rep/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vikrantdeshpande09876","download_url":"https://codeload.github.com/vikrantdeshpande09876/XML_to_CSV_Rep/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vikrantdeshpande09876%2FXML_to_CSV_Rep/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32669331,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csv","flask","html-css-javascript","javascript","python","xml"],"created_at":"2024-11-08T07:47:28.506Z","updated_at":"2026-05-05T21:31:18.986Z","avatar_url":"https://github.com/vikrantdeshpande09876.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XML/XSD Parser\nThis Flask app with an easy-to-use frontend is intended for generating a configuration excel, given an input XML/XSD file (Extensible Markup format to Relational schema).\n\n**_This module was used as a proof-of-concept for an internal use-case._**\n\n\n## Overview\n\n\u003col\u003e\n\u003cli\u003eThis Flask Application is live on \u003ca href=\"https://xmlxsdparser.herokuapp.com/\" target=\"blank\"\u003eHeroku\u003c/a\u003e for demonstration purposes.\u003c/li\u003e\n\u003cli\u003eAfter logging in, one must upload an XML/XSD File, select a file-format, a destination data delimiter (default: comma), and a filename for the final config file (default: original filename with timestamp).\u003c/li\u003e\n\u003cli\u003eThe hierarchy of parsed XML/XSD selectable tags is displayed and one needs to choose a section of these tag(s), and define the Primary key tag, Primary child tag, and Primary parent tag.\u003c/li\u003e\n\u003cli\u003e\nThe config file will mainly contain a hierarchy of nested-tags of your XML/XSD file (with associated metadata for the downstream Pyspark application) as:\n\u003cul\u003e\n\u003cli\u003eParent1\u003c/li\u003e\n\u003cli\u003eParent1.child1\u003c/li\u003e\n\u003cli\u003eParent1.child2\u003c/li\u003e\n\u003cli\u003eParent1.child2.subchild1\u003c/li\u003e\n\u003cli\u003eParent1.child2.subchild2\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003cli\u003eFinally, the config excel file for the parsed XML/XSD Tags is created at server side, so that the Spark-Scala code can access and read the XML files from Unix directory.\u003c/li\u003e\n\u003c/ol\u003e\n\n![process_flow](/Application%20Metadata/Process_flow_flask_app.jpg?raw=True)\n\n\n\n## Step-by-step guide to setup the XML/XSD Parser\n\n1.\tInstall GIT (This repository used 2.25.1 on Windows10): [Git](https://git-scm.com/downloads)\n\n2.\tInstall Python (This application was built on 3.8.1): [Python](https://www.python.org/downloads/)\n\n3.\tClone the current repository: [XML/XSD to CSV](https://github.com/vikrantdeshpande09876/XML_to_CSV_Rep)\n\n4.\tNavigate to the directory for this repo, and create a virtual environment for making a copy of your system-wide Python interpreter:\n```\n\u003e python -m venv myvirtualenv\n```\n\n5.\tActivate this virtual environment. You need not perform step#4 each time for execution:\n```\n\u003e myvirtualenv\\Scripts\\activate\n```\n\n6.\tInstall the application by executing:\n```\n\u003e pip install -e .\n```\n\n7.\tSet the starting point for running this Flask application as the package where our application 'xml_to_csv' lives:\n```\n\u003e set flask_app=xml_to_csv\n\u003e set flask_env=development\n```\n\n8.\tExecute the application from any directory on your system:\n```\n\u003e flask run\n```\n\n9.\tIn a web-browser, navigate to the URL mentioned in the cmd output from above command. For example http://127.0.0.1:5000/ or http://localhost:5000/. App is currently live on [Heroku](https://xmlxsdparser.herokuapp.com/) to view.\n\n10.\tCurrently the application accepts (username, password) from the excel file Login_creds.xlsx for logging in. This file is located in the /xml_to_csv/static/ folder of the application. These static login-credentials were used for quick development of a Minimal Viable Product.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvikrantdeshpande09876%2Fxml_to_csv_rep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvikrantdeshpande09876%2Fxml_to_csv_rep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvikrantdeshpande09876%2Fxml_to_csv_rep/lists"}