BExIS.Xml.Helpers.Mapping.XmlMapperManager.Export C# (CSharp) Method

Export() public method

public Export ( XmlDocument metadataXml, long datasetVersionId, string exportTo, bool save = false ) : XmlDocument
metadataXml System.Xml.XmlDocument
datasetVersionId long
exportTo string
save bool
return System.Xml.XmlDocument
        public XmlDocument Export(XmlDocument metadataXml, long datasetVersionId,string exportTo, bool save = false)
        {
            addAlsoEmptyNode = false;

            #region abcd (metadata from bexis to abcd)

            XmlDocument newMetadata = new XmlDocument();

            //add declaration
            XmlDeclaration declaration = newMetadata.CreateXmlDeclaration("1.0", "utf-8", null);
            newMetadata.AppendChild(declaration);
            //newMetadata.CreateXmlDeclaration("1.0", "utf-8", null);
            //newMetadata.Load(defaultFilePath);
            //XmlNode root = newMetadata.DocumentElement;

            //if (!String.IsNullOrEmpty(xmlMapper.Header.Destination.XPath))
            //{
            //    newMetadata.AppendChild(newMetadata.CreateElement(xmlMapper.Header.Destination.Prefix, xmlMapper.Header.Destination.XPath, xmlMapper.Header.Destination.NamepsaceURI));
            //}
            //else
            //{
            //    newMetadata.AppendChild(newMetadata.CreateElement("root"));
            //}

            // create nodes
            newMetadata = mapNode(newMetadata, null, metadataXml.DocumentElement);

            // add required attributes
            newMetadata = addAttributes(newMetadata, newMetadata.DocumentElement);

            XmlNode root = newMetadata.DocumentElement;
            XmlAttribute rootAttr = newMetadata.CreateAttribute("xmlns");
            rootAttr.Value = xmlSchemaManager.Schema.TargetNamespace;
            root.Attributes.Append(rootAttr);

            //add root attributes
            foreach (KeyValuePair<string, string> attribute in xmlMapper.Header.Attributes)
            {
                XmlAttribute attr = newMetadata.CreateAttribute(attribute.Key);
                attr.Value = attribute.Value;
                root.Attributes.Append(attr);
            }

            //add root namespaces
            foreach (KeyValuePair<string, string> package in xmlMapper.Header.Packages)
            {
                XmlAttribute attr = newMetadata.CreateAttribute(package.Key);
                attr.Value = package.Value;
                root.Attributes.Append(attr);
            }

            string path = getStorePath(datasetVersionId, exportTo);
            string fullpath = Path.Combine(AppConfiguration.DataPath, path);

            FileHelper.CreateDicrectoriesIfNotExist(Path.GetDirectoryName(fullpath));

            newMetadata.Save(fullpath);

            #endregion

            return newMetadata;
        }

Same methods

XmlMapperManager::Export ( XmlDocument metadataXml, long datasetVersionId, string exportTo ) : string

Usage Example

Example #1
0
        public static XmlDocument GetConvertedMetadata(long datasetId, TransmissionType type, string mappingName, bool storing = true)
        {
            XmlDocument newXml;
            try
            {
                DatasetManager datasetManager = new DatasetManager();
                DatasetVersion datasetVersion = datasetManager.GetDatasetLatestVersion(datasetId);

                string mappingFileName = XmlDatasetHelper.GetTransmissionInformation(datasetVersion, type, mappingName);
                string pathMappingFile = Path.Combine(AppConfiguration.GetModuleWorkspacePath("DIM"), mappingFileName);

                XmlMapperManager xmlMapperManager = new XmlMapperManager(TransactionDirection.InternToExtern);
                xmlMapperManager.Load(pathMappingFile, "exporttest");

                newXml = xmlMapperManager.Export(datasetVersion.Metadata, datasetVersion.Id, mappingName, true);

                string title = XmlDatasetHelper.GetInformation(datasetVersion, NameAttributeValues.title);

                // store in content descriptor
                if (storing)
                {
                    if(String.IsNullOrEmpty(mappingName) || mappingName.ToLower() == "generic")
                        storeGeneratedFilePathToContentDiscriptor(datasetId, datasetVersion, "metadata", ".xml");
                    else
                        storeGeneratedFilePathToContentDiscriptor(datasetId, datasetVersion, "metadata_"+ mappingName, ".xml");

                }

            }
            catch (Exception ex)
            {
                throw ex;
            }

            return newXml;
        }
All Usage Examples Of BExIS.Xml.Helpers.Mapping.XmlMapperManager::Export