Improve company productivity with a Business Account.Sign Up

x
?
Solved

how do I edit office 2007 word xml files programatically

Posted on 2007-11-30
2
Medium Priority
?
853 Views
Last Modified: 2012-06-22
If you take the new *.docx files that MSWord 2007 produces when it saves, and open it up in WinZip, you can see all the of xml files that make up the "dna" of the word file.  One of the xml files is called 'document.xml' that stores all of the text context in the word doc.

So here is the question.. if you make a simple word doc, for example a doc that only contains the text "Hello World", you can easily find the tag the contains this text in the 'document.xml' thats part of the docx package.  However, when I tried to change this tag in a text editor (to, lets say "Goodbye, World" , replace the original 'document.xml' with the modified one, and re-zip the package, word thinks something is corrupted.

I must be missing something because I know that the whole point of using XML as the source for a document is that other programing languages can edit the XML directly and read/modify/create word docs.  I can't even get this to work when editing it manually in a text editor!

I suspect that the zipping step isnt correct, or maybe I have to update another xml file in the package to accept the modified document.xml file?  I would like to learn how to edit MSOffice documents by editing the underlying XML... what am I missing?  Ill give points for an answer that explains why my zipping didnt work rather than answers that are just links to general information about open xml for office.  I feel like I read them all and couldnt find the answer!

thanks, experts
-md

0
Comment
Question by:meuedyn
2 Comments
 
LVL 3

Accepted Solution

by:
wiglack earned 2000 total points
ID: 20385720
I made a docx file that had the text Hello World!

I used Winrar.  I extracted the document.xml file.  I then opened the document.xml file in notepad and added EDITED!.  I saved the file in notepad.  Then I deleted document.xml in winrar.  I then added the new document.xml that I edited earlier.
When I opened Word2007 I saw Hello World! EDITED

Since I don't use Winzip I can't see if there is a problem with winzip.  Make sure you aren't changing the archive to zip.  It should work the same way.
0
 

Author Comment

by:meuedyn
ID: 20397310
I think the problem was in WinZip making an archive.  I discovered that using Internet Explorer to view/edit xml files works better and preserves the internal folder structure!

thanks wiglack
-md
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Manually copying shapes and their assigned macros one by one to a new location can be tedious, but if you use the Excel utility workbook attached to this article, the process will be much quicker and easier.
With the functions here, you can parse, convert, and format back and forth between feet and inches and fractions and decimal inches - for normal as well as extreme values and with extreme precision.
This Micro Tutorial well show you how to find and replace special characters in Microsoft Word. This is similar to carriage returns to convert columns of values from Microsoft Excel into comma separated lists.
Office 365 is currently available in five editions. Three of them are for business use: Office 365 Business Essentials, Office 365 Business, and Office 365 Business Premium. Two of them are for home/personal use: Office 365 Home and Office 365 Perso…

607 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question