private void ReadMetadata(XmlDocument doc, XmlNamespaceManager xmlnsManager) { metadata = new UEPubMetadata(); // Required properties metadata.title = doc.SelectSingleNode("/ns:package/ns:metadata/dc:title", xmlnsManager).InnerText; metadata.language = doc.SelectSingleNode("/ns:package/ns:metadata/dc:language", xmlnsManager).InnerText; metadata.identifier = doc.SelectSingleNode("/ns:package/ns:metadata/dc:identifier", xmlnsManager).InnerText; // Optional props SetMetadataProperty(ref metadata.creator, "/ns:package/ns:metadata/dc:creator", doc, xmlnsManager); SetMetadataProperty(ref metadata.contributor, "/ns:package/ns:metadata/dc:contributor", doc, xmlnsManager); SetMetadataProperty(ref metadata.coverage, "/ns:package/ns:metadata/dc:coverage", doc, xmlnsManager); SetMetadataProperty(ref metadata.description, "/ns:package/ns:metadata/dc:description", doc, xmlnsManager); SetMetadataProperty(ref metadata.format, "/ns:package/ns:metadata/dc:format", doc, xmlnsManager); SetMetadataProperty(ref metadata.publisher, "/ns:package/ns:metadata/dc:publisher", doc, xmlnsManager); SetMetadataProperty(ref metadata.relation, "/ns:package/ns:metadata/dc:relation", doc, xmlnsManager); SetMetadataProperty(ref metadata.rights, "/ns:package/ns:metadata/dc:rights", doc, xmlnsManager); SetMetadataProperty(ref metadata.source, "/ns:package/ns:metadata/dc:source", doc, xmlnsManager); SetMetadataProperty(ref metadata.subject, "/ns:package/ns:metadata/dc:subject", doc, xmlnsManager); SetMetadataProperty(ref metadata.type, "/ns:package/ns:metadata/dc:type", doc, xmlnsManager); // Date var node = doc.SelectSingleNode("/ns:package/ns:metadata/dc:date", xmlnsManager); if (node != null) { metadata.date = DateTime.ParseExact(node.InnerText, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); } }
private void ReadMetadata(XmlDocument doc, XmlNamespaceManager xmlnsManager) { metadata = new UEPubMetadata (); // Required properties metadata.title = doc.SelectSingleNode ("/ns:package/ns:metadata/dc:title", xmlnsManager).InnerText; metadata.language = doc.SelectSingleNode ("/ns:package/ns:metadata/dc:language", xmlnsManager).InnerText; metadata.identifier = doc.SelectSingleNode ("/ns:package/ns:metadata/dc:identifier", xmlnsManager).InnerText; // Optional props SetMetadataProperty (ref metadata.creator, "/ns:package/ns:metadata/dc:creator", doc, xmlnsManager); SetMetadataProperty (ref metadata.contributor, "/ns:package/ns:metadata/dc:contributor", doc, xmlnsManager); SetMetadataProperty (ref metadata.coverage, "/ns:package/ns:metadata/dc:coverage", doc, xmlnsManager); SetMetadataProperty (ref metadata.description, "/ns:package/ns:metadata/dc:description", doc, xmlnsManager); SetMetadataProperty (ref metadata.format, "/ns:package/ns:metadata/dc:format", doc, xmlnsManager); SetMetadataProperty (ref metadata.publisher, "/ns:package/ns:metadata/dc:publisher", doc, xmlnsManager); SetMetadataProperty (ref metadata.relation, "/ns:package/ns:metadata/dc:relation", doc, xmlnsManager); SetMetadataProperty (ref metadata.rights, "/ns:package/ns:metadata/dc:rights", doc, xmlnsManager); SetMetadataProperty (ref metadata.source, "/ns:package/ns:metadata/dc:source", doc, xmlnsManager); SetMetadataProperty (ref metadata.subject, "/ns:package/ns:metadata/dc:subject", doc, xmlnsManager); SetMetadataProperty (ref metadata.type, "/ns:package/ns:metadata/dc:type", doc, xmlnsManager); // Date var node = doc.SelectSingleNode ("/ns:package/ns:metadata/dc:date", xmlnsManager); if (node != null) { metadata.date = DateTime.ParseExact(node.InnerText, "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture); } }