I have some text, that is actually an XML snippet, which I want to display in an MS Word document. I really don't want to laboriously style every element and attribute by hand - is there some auto-style I can apply? Is there another solution?


You can use Notepad++. After installing:

  • Copy your XML to the Notepad++ window (in XML language mode)
  • Select the syntax highlighted XML you wish to post to Word
  • Select PLugins->NppExport->Copy RTF to Clipboard
  • Paste the formatted RTF into your word doc.
| improve this answer | |
  • So simple, so efficient, thanks – David Brossard Apr 24 '19 at 19:14
  • Unfortunately the colours don't come across – PeterX Feb 14 at 3:46

Use an external highlighter such as pygmentize to generate HTML, then copy and paste that into the document.

| improve this answer | |

Create a new style that formats the XML the way you want. The style will likely need to include:

  • setting the font to a monospaced font like Courier New
  • setting the language to No Proofing (Word 2003 and older) or Do Not Check Spelling or Grammar (Word 2007 and newer)
  • setting the font size to something smaller; often XML or other code won't fit well on a page unless you make it smaller

To use this, select the XML text and change the style. All the formatting attributes will be applied at once.

The upside is that XML is text in the document. You can edit it like any other text if you need to make corrections; search for it, etc. The downside of this method is that syntax colouring won't be applied to the text unless it was already there when the text was pasted.

Save the style in the normal.dot template (the default) so that it's available in all documents.

If you need to do this often, you can assign a keyboard shortcut to the text so you don't have to select the style from the style menu.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.