{"id":16618066,"url":"https://github.com/gtiwari333/java-read-big-xml-to-csv","last_synced_at":"2025-04-23T02:52:15.570Z","repository":{"id":92255076,"uuid":"278463799","full_name":"gtiwari333/java-read-big-xml-to-csv","owner":"gtiwari333","description":"java read big xml file and convert to csv","archived":false,"fork":false,"pushed_at":"2024-05-24T15:14:26.000Z","size":135,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-29T21:22:30.456Z","etag":null,"topics":["graalvm","graalvm-native-image","java","xml","xml-parser"],"latest_commit_sha":null,"homepage":"https://ganeshtiwaridotcomdotnp.blogspot.com/2020/07/java-read-huge-xml-file-and-convert-to.html","language":"Java","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/gtiwari333.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}},"created_at":"2020-07-09T20:26:07.000Z","updated_at":"2024-06-19T02:05:30.000Z","dependencies_parsed_at":"2024-11-17T02:17:03.773Z","dependency_job_id":null,"html_url":"https://github.com/gtiwari333/java-read-big-xml-to-csv","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gtiwari333%2Fjava-read-big-xml-to-csv","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gtiwari333%2Fjava-read-big-xml-to-csv/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gtiwari333%2Fjava-read-big-xml-to-csv/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gtiwari333%2Fjava-read-big-xml-to-csv/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gtiwari333","download_url":"https://codeload.github.com/gtiwari333/java-read-big-xml-to-csv/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250360249,"owners_count":21417718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["graalvm","graalvm-native-image","java","xml","xml-parser"],"created_at":"2024-10-12T02:19:00.645Z","updated_at":"2025-04-23T02:52:15.553Z","avatar_url":"https://github.com/gtiwari333.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## Sample project for  \n - https://ganeshtiwaridotcomdotnp.blogspot.com/2011/08/xml-parsing-using-saxparser-with.html\n - https://ganeshtiwaridotcomdotnp.blogspot.com/2020/07/java-read-huge-xml-file-and-convert-to.html\n - https://ganeshtiwaridotcomdotnp.blogspot.com/2020/07/graalvm-setup-and-generate-native-image.html\n\n## This uses Java SAX parser to parse a big xml file efficiently and convert to csv file\n\nFirst, import into Intellij as Maven project. Make sure you have maven\n\n## Requirement: make sure you have java installed (run `java -version`)\n\n## Generate Jar file - it will be generated in target folder\n\n`./mvnw clean package`\n\n## Run \n\n`java -jar target/xmltocsv-FINAL.jar  PATH/input.xml  PATH/output.csv`\n\n## Time/Memory Consumption\n\nRAM Used: less than 190MB\n\nTime Taken:\n\nFile: 118MB big2.xml @ 16GB Ram, Core i5, 6MB L3 cache, SSD\n- JDK8 - 8-9 sec\n- JDK 11 - 6-7 sec \n- JDK 14 - 5 sec     \n\n# Included xml files - unzip before use\n- small.xml - 1.44KB file\n- big1.zip - 2MB file\n- big2.zip - 118MB file\n- big3.7z - 6.58GB file\n\n# Native Image with GraalVM\nRefer to this https://ganeshtiwaridotcomdotnp.blogspot.com/2020/07/graalvm-setup-and-generate-native-image.html blog for how to setup GraalVM and native-image utility\n\nRun the following to generate native image. Make sure graalvm sdk is chosen as java sdk.\n\n`sdk use java 21.0.3-graal`\n\n`./mvnw clean package install`\n\n- Run native executable\n\n```\n$ ./target/xmltocsv PATH/big2.xml PATH/big2.csv\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgtiwari333%2Fjava-read-big-xml-to-csv","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgtiwari333%2Fjava-read-big-xml-to-csv","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgtiwari333%2Fjava-read-big-xml-to-csv/lists"}