解决方法
可以在
here找到对以下方法的解释,但几乎需要将要从core.xml文件中获取的属性传递给此方法,它将返回值:
public static string WDRetrieveCoreProperty(string docName,string propertyName) { // Given a document name and a core property,retrieve the value of the property. // Note that because this code uses the SelectSingleNode method,// the search is case sensitive. That is,looking for "Author" is not // the same as looking for "author". const string corePropertiesSchema = "http://schemas.openxmlformats.org/package/2006/Metadata/core-properties"; const string dcPropertiesSchema = "http://purl.org/dc/elements/1.1/"; const string dcTermsPropertiesSchema = "http://purl.org/dc/terms/"; string propertyValue = string.Empty; using (WordprocessingDocument wdPackage = WordprocessingDocument.Open(docName,true)) { // Get the core properties part (core.xml). CoreFilePropertiesPart corePropertiesPart = wdPackage.CoreFilePropertiesPart; // Manage namespaces to perform XML XPath queries. NaMetable nt = new NaMetable(); XmlNamespaceManager nsManager = new XmlNamespaceManager(nt); nsManager.AddNamespace("cp",corePropertiesSchema); nsManager.AddNamespace("dc",dcPropertiesSchema); nsManager.AddNamespace("dcterms",dcTermsPropertiesSchema); // Get the properties from the package. XmlDocument xdoc = new XmlDocument(nt); // Load the XML in the part into an XmlDocument instance. xdoc.Load(corePropertiesPart.GetStream()); string searchString = string.Format("//cp:coreProperties/{0}",propertyName); XmlNode xNode = xdoc.SelectSingleNode(searchString,nsManager); if (!(xNode == null)) { propertyValue = xNode.InnerText; } } return propertyValue; }