59 public void Init(MemoryStream stream,
Workbook workbook, IOptions readerOptions, Action<MemoryStream, Workbook, string, IOptions, int?> inlinePluginHandler)
62 this.Workbook = workbook;
63 this.Options = readerOptions;
64 this.InlinePluginHandler = inlinePluginHandler;
77 Metadata metadata =
Workbook.WorkbookMetadata;
79 XmlDocument xr =
new XmlDocument() { XmlResolver =
null };
80 using (XmlReader reader = XmlReader.Create(stream,
new XmlReaderSettings() { XmlResolver =
null }))
83 foreach (XmlNode node
in xr.DocumentElement.ChildNodes)
85 if (node.LocalName.Equals(
"Category", StringComparison.OrdinalIgnoreCase))
87 metadata.Category = node.InnerText;
89 else if (node.LocalName.Equals(
"ContentStatus", StringComparison.OrdinalIgnoreCase))
91 metadata.ContentStatus = node.InnerText;
93 else if (node.LocalName.Equals(
"Creator", StringComparison.OrdinalIgnoreCase))
95 metadata.Creator = node.InnerText;
97 else if (node.LocalName.Equals(
"Description", StringComparison.OrdinalIgnoreCase))
99 metadata.Description = node.InnerText;
101 else if (node.LocalName.Equals(
"Keywords", StringComparison.OrdinalIgnoreCase))
103 metadata.Keywords = node.InnerText;
105 else if (node.LocalName.Equals(
"Subject", StringComparison.OrdinalIgnoreCase))
107 metadata.Subject = node.InnerText;
109 else if (node.LocalName.Equals(
"Title", StringComparison.OrdinalIgnoreCase))
111 metadata.Title = node.InnerText;
120 throw new IOException(
"The XML entry could not be read from the input stream. Please see the inner exception:", ex);