Microsoft’s Chris Lovett (of System.Xml fame) has released XML Notepad 2006 - a simple, easy to use, and free, XML editor. For those that regularly work with XML, an editor of this type can be an invaluable addition to your toolbox.
XML Notepad offers a basic set of features, great for those quick jobs where using an IDE or a more full-featured application would be overkill. While XML Notepad doesn’t offer a great range of features, it does offer some of the most important features needed to get the job done.
As a real bonus, XML Notepad was released complete with its design documentation and source code. Always nice to take a peak under the hood of the projects Microsoft releases.
The only major gripe I have with this tool is the lack of a syntax-highlighted viewer for the XML source. In fact, it uses its non-XML cousin, Notepad to view the underlying XML. Thankfully, as this project was released with source, it should be easy to add a few new features such as this.
For those interested, here’s the feature overview:
Tree View synchronized with Node Text View for quick editing of node names and values.
Incremental search (Ctrl+I) in both tree and text views, so as you type it navigates to matching nodes.
Cut/copy/paste with full namespace support.
Drag/drop support for easy manipulation of the tree, even across different instances of XML Notepad and from the file system.
Infinite undo/redo for all edit operations.
In place popup multi-line editing of large text node values.
Configurable fonts and colors via the options dialog.
Full find/replace dialog with support for regex and XPath.
Good performance on large XML documents, loading a 3mb document in about one second.
Instant XML schema validation while you edit with errors and warnings shown in the task list window.
Intellisense based on expected elements and attributes and enumerated simple type values.
Support for custom editors for date, dateTime and time datatypes and other types like color.
Handy nudge tool bar buttons for quick movement of nodes up and down the tree.
Inplace HTML viewer for processing xml-stylesheet processing instructions.
Built-in XML Diff tool.