0
我正在嘗試編寫一些代碼來使用XML文件填充某個內容控件的Word文件。對於我使用下面的代碼:無法使用自定義XML填充Word內容控件
string outPath = @"D:\template_created.docx";
string docPath = @"D:\template.docx";
string xmlPath = @"D:\template.xml";
File.Copy(docPath, outPath);
using (WordprocessingDocument doc = WordprocessingDocument.Open(outPath, true))
{
MainDocumentPart mdp = doc.MainDocumentPart;
if (mdp.CustomXmlParts != null)
{
mdp.DeleteParts<CustomXmlPart>(mdp.CustomXmlParts);
}
CustomXmlPart cxp = mdp.AddCustomXmlPart(CustomXmlPartType.CustomXml);
FileStream fs = null;
try
{
fs = new FileStream(xmlPath, FileMode.Open);
cxp.FeedData(fs);
mdp.Document.Save();
}
finally
{
if (fs != null)
{
fs.Dispose();
}
}
}
在這裏,我的XML文件:
<root>
<firstname_1>Marc</firstname_1>
<lastname_1>Swit</lastname_1>
<firstname_2>Paul</firstname_2>
<lastname_2>Gevaert</lastname_2>
</root>
當我運行的應用程序,它創建的自定義XML文件,並把它添加到我的Word文件。當我打開Word文件時,沒有錯誤,但沒有填充所有內容控件
當我將template_created.docx重命名爲template_created.zip時,提取文件並瀏覽它們,發現我的XML文件正確創建並且在customXML文件夾中有正確的內容。
有人有想法幫助我嗎?
謝謝!
編輯17/08/15:在我的回答如下