Hi
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
Thanks for your request. I think, you can try using code like the following:
// Open document
Document doc = new Document(@"Test001\in.doc");
// Get list of mergefields in the document
string[] names = doc.MailMerge.GetFieldNames();
// Create XML writer
using (XmlTextWriter xmlWriter = new XmlTextWriter(@"Test001\out.xml", Encoding.UTF8))
{
xmlWriter.Formatting = Formatting.Indented;
xmlWriter.WriteStartElement("Fields");
// Loop throught all mergefields and build structure of mergefields.
foreach (string name in names)
{
if (name.ToLower().StartsWith("tablestart"))
{
xmlWriter.WriteStartElement("Table");
xmlWriter.WriteAttributeString("name", name.Substring(name.IndexOf(":") + 1));
}
else if(name.ToLower().StartsWith("tableend"))
{
xmlWriter.WriteEndElement();
}
else
{
xmlWriter.WriteStartElement(name);
xmlWriter.WriteEndElement();
}
}
xmlWriter.WriteEndElement();
}
Sample documents are attached. I hope this could help you.
Best regards.