Go to http://xmlconverter.amerisun.me/setup.exe and download the setup file, you will need Dot Net 6.0 installed and if you do not have it installed it will install it for you.
Alternatively you can go to the source link below and download / compile / create your own version.
Running the Application
Application upon first run will look like this:
- Click on “Open Fantasy Grounds XML Files” button.
- Find the directory you have your XML files located. You can choose one or more files to process.
- Next you choose an output directory.
- Then you can either use the XSL provided, or choose one from your PC. Click “Choose XSL” and find your XSL document, or click on “Use Embedded” to use the embedded one.
- Then click “Process Files”.
Printing the JSON Files
Once you have done that you should have a folder full of JSON files, or one, depending on how many XML files you processed.
- Go to https://darylbuckle.dev/dnd-character-sheets/stats website.
- Click on the “All” button on the left to show all pages.
- Click on the “Import” button and choose a JSON file.
- Click “Print”!
Currently the application will only process XSL version 1.0 documents. So any XSL 1.0 transformation documents you have laying around this program will convert quickly and easily for you the XML that comes out of Fantasy Grounds.
I would love to upgrade the application to use XSL 3.0, if anyone knows of a good open sourced or free C# .NET 6.0 library to do this I would be grateful! The ones I have found are expensive!
If you would like to download and compile / use the source yourself, you can find it here: https://github.com/Amerisun/FantasyGroundsXMLConverter
The software is setup so that if you install from the location I have deployed to, it will auto update when there are fixes. You will get a notification when you launch the software if there is an update, and you can hit OK to accept it or skip the update.
If the update breaks anything, you can go to the uninstall area of that application and roll back the changes to the previous version.
This application runs under the user context and does not require elevated permissions to run. If you do not have Dot Net 6 installed, it will ask to elevate to install that only, and from then on will run under the user context.