This will probably need a bit of work to modify for your needs, and there might be a bug or two in it, but it should get you started down the right path.
Take a look here http://msdn.microsoft.com/en-us/library/office/ff839952.aspx and try the different XML options to decide which one works best for you.
param(
[string]$Filename,
[string]$StyleSheet,
[string]$outputFile
)
$WordApp = New-Object -ComObject Word.application
if (![System.IO.Path]::IsPathRooted($FileName)){
$Filename = Join-Path $pwd $FileName
}
$Document = $WordApp.Documents.Open($Filename, 2, $true) # Read only
$newFilename = [System.IO.Path]::ChangeExtension($filename, "xml")
if (Test-Path $newFilename){
Remove-Item $newFilename
}
#http://msdn.microsoft.com/en-us/library/office/ff839952.aspx
$Document.SaveAs($newFilename, [Microsoft.Office.Interop.Word.WdSaveFormat]::wdFormatXMLDocument)
$Document.Close()
$xslt = New-Object System.Xml.Xsl.XslCompiledTransform;
$xslt.Load($StyleSheet, $null, $null);
$xslt.Transform( $newFilename, $outputFile );
$WordApp.Quit()
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($WordApp) | Out-Null