【发布时间】:2012-01-30 14:48:08
【问题描述】:
我正在使用 Open XML SDK 来读取和写入信息到 Word 文档中的自定义 xml 部分。 我将一个xml结构序列化为一个类,修改数据并将其序列化回文档。
示例代码
DocumentFormat.OpenXml.Packaging.CustomXmlPart myPart = GetCustomXmlPart(mainPart, AITNamespaces.SiteDataNameSpace);
StreamReader myStrR = new System.IO.StreamReader(myPart.GetStream());
string myXML = myStrR.ReadToEnd();
sitedata = ObjectXMLSerializer<WDSiteData>.LoadString(myXML);
Site selSite = _applicationService.GetApplicationData().Sites.Find(item => item.Id == siteId);
sitedata.SiteId= selSite.Id;
sitedata.SiteName = "ööööaaaaaåååå"; // selSite.SiteName;
myXML = ObjectXMLSerializer<WDSiteData>.GetXMLString(sitedata);
myPart = GetCustomXmlPart(wordProcDocument.MainDocumentPart, AITNamespaces.SiteDataNameSpace);
using (StreamWriter sw = new StreamWriter(myPart.GetStream(FileMode.Create)))
{
sw.Write(myXML);
}
我的问题是国家字符被编码并且文本“ööööaaaaaååååå”在word文档中显示为“????????aaaaa????????”
实际编码完成
myXML = ObjectXMLSerializer<WDSiteData>.GetXMLString(sitedata);
任何人都知道如何以这种方式处理国家字符。
【问题讨论】:
标签: ms-word openxml openxml-sdk