Adam Caudill

Security Leader, Researcher, Developer, Writer, & Photographer

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 toolbar 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.

Adam Caudill