{"id":24244463,"url":"https://github.com/xanatosx/xmlformatter","last_synced_at":"2025-07-27T19:10:03.960Z","repository":{"id":40874650,"uuid":"234277603","full_name":"XanatosX/XmlFormatter","owner":"XanatosX","description":"This simple standalone tool will allow you to convert files into a flat or well formatted files. The application is plugin based starting with version 0.0.8","archived":false,"fork":false,"pushed_at":"2024-09-21T00:51:15.000Z","size":1524,"stargazers_count":3,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-01T08:45:14.656Z","etag":null,"topics":["csharp","forms","plugins","windows","xml-formatters"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/XanatosX.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":"CONTRIBUTING.MD","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","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-01-16T09:01:24.000Z","updated_at":"2025-02-19T14:50:31.000Z","dependencies_parsed_at":"2025-01-14T22:37:23.412Z","dependency_job_id":"ef3dc510-c2e4-4c59-a226-00c8ab139279","html_url":"https://github.com/XanatosX/XmlFormatter","commit_stats":null,"previous_names":[],"tags_count":23,"template":false,"template_full_name":null,"purl":"pkg:github/XanatosX/XmlFormatter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XanatosX%2FXmlFormatter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XanatosX%2FXmlFormatter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XanatosX%2FXmlFormatter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XanatosX%2FXmlFormatter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/XanatosX","download_url":"https://codeload.github.com/XanatosX/XmlFormatter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/XanatosX%2FXmlFormatter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267408878,"owners_count":24082526,"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","status":"online","status_checked_at":"2025-07-27T02:00:11.917Z","response_time":82,"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":["csharp","forms","plugins","windows","xml-formatters"],"created_at":"2025-01-14T22:36:22.895Z","updated_at":"2025-07-27T19:10:03.935Z","avatar_url":"https://github.com/XanatosX.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XML Formatter\n![Live build](https://github.com/XanatosX/XmlFormatter/workflows/Live%20build/badge.svg)\n![Latest unstable build](https://github.com/XanatosX/XmlFormatter/workflows/Latest%20unstable%20build/badge.svg)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/d82f0208f13547ff890deff9207bb4c4)](https://www.codacy.com/manual/simonaberle/XmlFormatter?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=XanatosX/XmlFormatter\u0026amp;utm_campaign=Badge_Grade)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FXanatosX%2FXmlFormatter.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FXanatosX%2FXmlFormatter?ref=badge_shield)\n\nThis project is a lightweight tool to convert xml files from a flat to a formatted format or the other way round.\n\n## How to \"install\" this application\n\n### Pre-Requirements\n\nYou will need the .NET Framework 4.7 or newer installed on your machine. This is installed on default on Windows 10.\n\n### Installation\n\n1. Download the newest zip file from the [Release](https://github.com/XanatosX/XmlFormatter/releases) tab.\n   1. Click on the topmost entry in the list\n   2. Click on the zip file in the `Assets` area\n2. Unzip the content of the file somewhere on your computer\n   * You do not need the `LICENSE` file.\n3. Start the unzipped `XmlFormatter.exe` file.\n\nThis application is portable, just copy the zip content to a portable disk.\n\n## How to use this application\n\n### Select a file to format\n\nThere are different ways to select the file you want to format\n\n#### 1. Use the select button\n\nTo \"open\" an file use the `Select` button, keep in mind that the text of the button is related to the current converter you do use\n\n![SelectButton.png](/.github/Screenshots/SelectButton.png)\n\nThis will open up a file selector where you can choose the file for converting\n\n![FileSelector.png](/.github/Screenshots/FileSelector.png)\n\n#### 2. Write the path to the into the Textbox\n\nYou can write the path to the file into the textbox to select it for the formatting task\n\n![AddPathToFile.png](/.github/Screenshots/AddPathToFile.png)\n\nPlease make sure that the file is a valid file and is located at the path you did provide in the textbox.\n\n#### 3. Drag the file onto the window\n\nThe last option is to simple drag and drop the file into the window, please keep in mind that you can only drag one file for converting.\n\nThis will automatically fill the textbox with the correct file path.\n\n### Select the converter\n\nYou can select different converter if there are multiple plugins installed into the application.\n\n**Important** If this selection is not visible for you there is only one converter available\n\n![ConverterSelection.png](/.github/Screenshots/ConverterSelection.png)\n\nChanging this setting will change different texts in the GUI. It will change some filters like which files you can select in the background as well.\nChanging this selectbox will change the filetype you can convert.\n\n![JsonExample.png](/.github/Screenshots/JsonExample.png)\n\n### Select the formatting mode\n\nThere are two different modes to format one to flat out the file and one for proper formatting. You can select the mode on the dropdown near the save button.\n\n![ModeSelection.png](/.github/Screenshots/ModeSelection.png)\n\n* Formatted -\u003e Format the file in a human readable format\n* Flat -\u003e Flat the file so it will need less space on your disk\n\n### Save the file\n\nTo finally save the file just click on the `Save` button. This will load the file into your ram convert it and write it back to the disk. While this action is in progress the window will be locked for other interactions.\n\n### Change the settings\n\nYou can change the settings of this application by clicking on `File-\u003eSettings`\n\n![OpenSettings.png](/.github/Screenshots/OpenSettings.png)\n\nDo not forget to click on `Save and close` to apply your settings.\n\n### Hotfolder Support\n\n**Important** This functionality is not tested deeply so it is possible that the application will crash or bug out.\n\nThe hotfolder support will, if activated, run in the background while the application is started and will try to watch all the configured folders and convert the files as configured.\n\nTo use this functionality go to the settings and access the hotfolder tab, check the `Hotfolder active` flag first.\n\n![ActivateHotfolder.png](/.github/Screenshots/ActivateHotfolder.png)\n\nClick on the `Add` button to add a new hotfolder. This will bring up a new window, where you need to select the `provider` (Converter to use) and the `mode` if the files should be converted to flat or formatted.\n\n![GeneralHotfolderSettings.png](/.github/Screenshots/GeneralHotfolderSettings.png)\n\nAfter adding this information you should add the folder to watch. Keep in mind that the folder should be readable. Best practice is to set a Filter here in case of the xml formatter the filter should be `*.xml`. The output folder is filled automatically but can be changed if needed. It is not possible to select the same output folder as the input folder.\n\nThe output file scheme will define how the file will be named after the conversion. At the moment there are the following variables\n\n* `{inputfile}` -\u003e Name of the input file without extension and path.\n* `{format}` -\u003e The format (Formatted, Flat) the file was converted to.\n* `{extension}` -\u003e The extension of the converter.\n\nYou can check the additional triggers if you want that the input file is deleted or if the process should be triggered on file rename as well.\n\n## Plugins\n\n**Important** Using plugins of any kind can cause harm to your computer be absolutely sure that the plugin author is trustworthy.\n\n### Install or Remove a Plugin\n\nTo install or remove a plugin close the application first. After closing the application navigate to the installation folder.\n\n![InstallationFolder.png](/.github/Screenshots/InstallationFolder.png)\n\nThe folder should look like this, you need to open the `Plugins` folder. You can add plugins for this application by dropping them into the folder, don't forget to put in the required dll's as well. To Remove a plugin just delete the dll file and there requirements.\n\n![PluginFolder.png](/.github/Screenshots/PluginFolder.png)\n\nDo not delete the `CorePlugin.dll` if you do not know what you are doing. The application will still start but if there is no replacement it will not function properly.\n\n### View Plugins and Manage there Settings\n\nIf you want to take a look which plugins are loaded right now open the plugin manager by clicking on `Help-\u003ePlugins`\n\n![OpenPluginManager.png](/.github/Screenshots/OpenPluginManager.png)\n\nIf you extend the tree view to the left you will see two root nodes\n\n* Formatter -\u003e Entries listed under this node are converter for files\n* Updater -\u003e Entries listed under this node are updater, those are strategies you can use to update the application.\n\nYou can select a plugin in this view to see the details of it, if there are settings available for the plugin there will be an additional tab to the right.\n\n![PluginSelected.png](/.github/Screenshots/PluginSelected.png)\n\n## Pre-requirements for creating a build\n\nTo get started with the project you should check the following requirements\n\n1. You will need a program which allows you to write C# and can compile and build Windows forms applications.\n   * Check out [Visual Studio Community](https://visualstudio.microsoft.com/de/vs/community/)\n\n## Getting a working build\n\nYou should fulfill the pre-requirements for these steps first.\n\n1. Clone this project `git clone git@github.com:XanatosX/XmlFormatter.git`\n2. Download the NuGet dependencies before compiling. If you IDE is not doing this on loading the project file use `nuget restore` in the root folder\n3. Start the build in your IDE\n\n## Contributions\n\nIf you have found a bug or a feature idea feel free to create an issue [here](https://github.com/XanatosX/XmlFormatter/issues). Before you open up a new issue, please search to see if it was already reported. In your issue try to be as detailed as possible.\n\nIf you want to contribute fixes or features to this project, please read our [contributors guide](CONTRIBUTING.MD) first.\n\n## Using the Source Code\n\nThe full source code and all the required assets are available here on GitHub.\n\n## License\n\nThis project is using the [MIT License](LICENSE).\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FXanatosX%2FXmlFormatter.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FXanatosX%2FXmlFormatter?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxanatosx%2Fxmlformatter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxanatosx%2Fxmlformatter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxanatosx%2Fxmlformatter/lists"}