I have Notepad++ and I got some
XML code which is very long. When I pasted it in Notepad++ there was a long line of code (difficult to read and work with).
I want to know if there is a simple way to make the text readable (by readable I mean properly tabbed code).
I can do it manually but I want a permanent solution to this as I have faced this several times. I am sure there is a way to do this as I have done it once before a couple of years back, maybe with Visual Studio or some other editor, I don't remember.
But can Notepad++ do it?notepad++code-formatting
Try TextFX --> TextFX Html Tidy --> Tidy: reindent XML
If you can´t try with Eclipse, right button, source, correct indent
Try Plugins -> XML Tools -> Pretty Print (libXML) or (XML only - with line breaks Ctrl + Alt + Shift + B)
In my experience, libXML gives nice output but only if the file is 100% correctly formed.
There is no such a thing like TextFX in Notepad++, not in the latest version at least. This is one of the reasons I'm still with DW even if it is driving me insane being slow and unresponsive from time to time...
You need to install the XML tool from the Plugins --> Plugin Manager --> show Plugin Manager and then check the XML tools, install it and then Ctl+Alt+Shift+B OR the option for XML Tool above shows up.
For best results, you should use both TextFX XML tidy and XML tools pretty print. Here's how and why:
1.TextFX -> TextFX HTML Tidy -> Tidy: reindent XML
TextFX has the benefit of wrapping long lines, which XML Tools does not do, but it doesn't indent those new lines correctly.
2. XML Tools -> Pretty print (Text indent)
XML Tools complements TextFX by indenting the newly wrapped lines nicely.
"But can Notepad++ do it?"
If the XML is invalid, the answer is apparently 'no'. I tried Notepad++ with the Tidy2 and XMLTools plugins. Both give errors similar to "errors encountered, please fix". If you don't care about errors, that's a PITA.
Instead, open it in visual studio then edit -> advanced -> format document. Quick and pretty.
OK, here is how I did it in Notepad++:
Plugins -> XML Tools -> Pretty Print (libXML) or Ctrl+Alt+Shift+B
You probably need to install the plugin:
Plugins > Plugins Manager > Show Plugins Manager
If you are behind a proxy, download it from here.
XMLTools.dll to the plugins directory and external libraries (four dlls) into the root Notepad++ directory.
If your XML is imperfect, try this with the TextFX Characters plugin (install from Plugin manager):
First, find a ">" to copy into the clipboard. Then select ALL your text, and then...
On the main menu: TextFX -> TextFX Edit -> Solit lines at clipboard char...
This will do a reasonable job, not perfect, but things will be readable, at least.
I had to do this with XML code stored in an SQL Server database, where the headers weren't stored, just the XML body...
Notepad++ v6.6.3 with plugin "XML Tools" and shortcut Ctrl + Alt + Shift + B works fine.
Here are most of plugins you can use in Notepad++ to format your XML code.
Enable 'text auto update' in plugin manager-> UniversalIndentGUI
Shortkey = CTRL+ALT+SHIFT+J
Shortkey = CTRL+ALT+SHIFT+B
Shortkey = CTRL+ALT+SHIFT+B
UniversalIndentGUI did the job for me, once configured properly as described above.
TextFX would not install and run correctly on an old PC I have running XP. There are instructions above for manual installation of various DLLs but I'd rather avoid any manual installation.
UniversalIndentGUI formatted some lines like this
and I would have preferred
but the output is still much better than one long line!
You can find details here To Quickly Format XML using Pretty Print (libXML)
Installing the XML Tools
If you run Notepad++ and look in the Plugins menu, you’ll see that the XML Tools aren’t there:
Download the XML tools from here.
Unzip the file and copy the XMLTools.dll to the Notepad++ plugins folder (in the example above: C:\Program Files (x86)\Notepad++\plugins):
Re-start Notepad++ and you should now see the XMLTools appear in the Plugins menu.
Unzip the ext_libs.zip file and then copy the unzipped DLLs to the Notepad++ installation directory (in the example above: C:\Program Files (x86)\Notepad++).
Re-start Notepad++ and you should finally see the proper XML Tools menu.
The feature I use the most is “Pretty print (XML only – with line breaks)”. This will format any piece of XML with all the proper line spacing.
If you get this error:
Cannot load 32-bit plugin, XMLTools.dll is not compatible with the current version of Notepad++
Here you can find a working version for Windows 10 x64: Xml Tools 188.8.131.52 Unicode
Note: It's the only version I've found working on Windows 10 Professional x64.