Ugly Duckling is a simple yet powerful multipurpose XML utility written in C++.
- Parses and validates XML files
- Fixes misplaced tags
- Formats XML
- Converts XML to JSON
- Minifies XML by removing whitespace
- Compresses and decompresses XML
Does not support the following:
- XML namespaces
- XML attributes
- prolog and doctype
- CDATA sections
- self-closing tags
- DTDs
- Install the necessary development tools:
sudo apt-get update sudo apt-get install build-essential cmake libboost-all-dev graphviz libgraphviz-dev qt6-base-dev libglu-dev
- Install the necessary development tools:
sudo pacman -Syu --needed base-devel cmake boost graphviz qt6
- Open PowerShell and paste the following to install MSYS2:
winget install MSYS2.MSYS2 Kitware.CMake Graphviz.Graphviz
- Open the MSYS2 UCRT64 shell and install the necessary packages:
pacman -Syu --needed base-devel mingw-w64-ucrt-x86_64-{toolchain,boost,graphviz,qt6} - Open PowerShell as adminstrator and add the MSYS2 UCRT64 bin directory to the system PATH (This may vary depending on where you installed MSYS2):
[System.Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\msys64\ucrt64\bin", [System.EnvironmentVariableTarget]::Machine)
- Clone the repository:
git clone https://github.com/KhalidAlansary/ugly-duckling.git
- In the local repository, run:
cd ugly-duckling cmake -B build cmake --build build cd build/bin ./xml_editor <command> [options]

