Adam Caudill

Software developer & architect, slightly obsessed with security, technical elitist.

XML Notepad 2006

XMLNotepad 2006 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.