{"id":19864650,"url":"https://github.com/dev360/fooxml","last_synced_at":"2026-06-10T19:31:51.379Z","repository":{"id":139698455,"uuid":"9799241","full_name":"dev360/fooxml","owner":"dev360","description":"XML parsing foo made simpler","archived":false,"fork":false,"pushed_at":"2013-05-03T03:49:41.000Z","size":144,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-01T00:31:50.839Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/dev360.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}},"created_at":"2013-05-01T20:14:54.000Z","updated_at":"2013-10-18T19:50:48.000Z","dependencies_parsed_at":"2023-03-14T23:01:38.344Z","dependency_job_id":null,"html_url":"https://github.com/dev360/fooxml","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/dev360/fooxml","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev360%2Ffooxml","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev360%2Ffooxml/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev360%2Ffooxml/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev360%2Ffooxml/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dev360","download_url":"https://codeload.github.com/dev360/fooxml/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dev360%2Ffooxml/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34168086,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-10T02:00:07.152Z","response_time":89,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-11-12T15:19:22.160Z","updated_at":"2026-06-10T19:31:51.358Z","avatar_url":"https://github.com/dev360.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"fooxml\n======\n\n## XML file too big? Python XML parsing got you down? \n\nfooxml uses sax/pull XML parsing and allows you to parse multi\ngiga-byte files efficiently with less code.\n\n**Code, k thx bai:**  \n\n```python\nfrom StringIO import StringIO\nimport fooxml\n\n# From http://www.w3schools.com/xml/simple.xml\nxml_fragment = \"\"\"\u003c?xml version=\"1.0\" encoding=\"ISO-8859-1\"?\u003e\n\u003c!-- Edited by XMLSpy? --\u003e\n\u003cbreakfast_menu\u003e\n\t\u003cfood\u003e\n\t\t\u003cname\u003eBelgian Waffles\u003c/name\u003e\n\t\t\u003cprice\u003e$5.95\u003c/price\u003e\n\t\t\u003cdescription\u003etwo of our famous Belgian Waffles with plenty of real maple syrup\u003c/description\u003e\n\t\t\u003ccalories\u003e650\u003c/calories\u003e\n\t\u003c/food\u003e\n\t\u003cfood\u003e\n\t\t\u003cname\u003eStrawberry Belgian Waffles\u003c/name\u003e\n\t\t\u003cprice\u003e$7.95\u003c/price\u003e\n\t\t\u003cdescription\u003elight Belgian waffles covered with strawberries and whipped cream\u003c/description\u003e\n\t\t\u003ccalories\u003e900\u003c/calories\u003e\n\t\u003c/food\u003e\n\u003c/breakfast_menu\u003e\n\"\"\"\nstream = StringIO(xml_fragment)\nstream.seek(0)\n\ndef callback(obj):\n    print \"{0},{1},{2}\".format(obj['name'], obj['price'], obj['calories'])\n\nhandler = fooxml.SimpleHandler(\"food\", callback=callback)\nxml_file = fooxml.xml_file(stream, handler)\nxml_file.parse()\n\n# Outputs:\n# Belgian Waffles,$5.95,650\n# Strawberry Belgian Waffles,$7.95,900\n\n```\n\nThis is pretty barebones - adding more functionality as use cases emerge.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev360%2Ffooxml","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdev360%2Ffooxml","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdev360%2Ffooxml/lists"}