コード例 #1
0
ファイル: msxml.cs プロジェクト: zhouzu/cs-script
 static public void Main(string[] args)
 {
     if (args.Length == 0 || (args.Length == 1 && (args[0] == "?" || args[0] == "/?" || args[0] == "-?" || args[0].ToLower() == "help")))
     {
         Console.WriteLine(usage);
     }
     else
     {
         try
         {
             DOMDocumentClass xmlDoc            = new DOMDocumentClass();
             IXMLDOMElement   rootElement       = xmlDoc.createElement("memo");
             IXMLDOMAttribute memoAttribute     = xmlDoc.createAttribute("author");
             IXMLDOMText      memoAttributeText = xmlDoc.createTextNode("Pat Coleman");
             IXMLDOMElement   toElement         = xmlDoc.createElement("to");
             IXMLDOMText      toElementText     = xmlDoc.createTextNode("Carole Poland");
             xmlDoc.appendChild(rootElement);
             memoAttribute.appendChild(memoAttributeText);
             rootElement.setAttributeNode(memoAttribute);
             rootElement.appendChild(toElement);
             toElement.appendChild(toElementText);
             xmlDoc.save("memo.xml");
         }
         catch (Exception e)
         {
             Console.WriteLine(e);
         }
     }
 }
コード例 #2
0
ファイル: msxml.cs プロジェクト: Diullei/Storm
 public static void Main(string[] args)
 {
     if (args.Length == 0 || (args.Length == 1 && (args[0] == "?" || args[0] == "/?" || args[0] == "-?" || args[0].ToLower() == "help")))
     {
         Console.WriteLine(usage);
     }
     else
     {
         try
         {
             DOMDocumentClass xmlDoc = new DOMDocumentClass();
             IXMLDOMElement rootElement = xmlDoc.createElement("memo");
             IXMLDOMAttribute memoAttribute = xmlDoc.createAttribute("author");
             IXMLDOMText memoAttributeText = xmlDoc.createTextNode("Pat Coleman");
             IXMLDOMElement toElement = xmlDoc.createElement("to");
             IXMLDOMText toElementText = xmlDoc.createTextNode("Carole Poland");
             xmlDoc.appendChild(rootElement);
             memoAttribute.appendChild(memoAttributeText);
             rootElement.setAttributeNode(memoAttribute);
             rootElement.appendChild(toElement);
             toElement.appendChild(toElementText);
             xmlDoc.save("memo.xml");
         }
         catch (Exception e)
         {
             Console.WriteLine(e);
         }
     }
 }
コード例 #3
0
        /// <summary>
        ///     Creates the root document for the XML.
        /// </summary>
        /// <param name="versionNumber">The version number.</param>
        /// <returns>Returns a <see cref="IXMLDOMDocument" /> representing the root document for the XML.</returns>
        private IXMLDOMDocument CreateDocument(string versionNumber)
        {
            IXMLDOMDocument doc     = new DOMDocumentClass();
            var             element = doc.createElement("GXXML");

            doc.appendChild(element);

            element      = doc.createElement("EXPORT_VERSION");
            element.text = versionNumber;
            doc.firstChild.appendChild(element);

            return(doc);
        }
コード例 #4
0
        /// <summary>
        ///     Returns the "EDM" node and child EDMPROP elements containing Extended Data associated with the specified WFM node.
        /// </summary>
        /// <param name="wmsNode">A WFM node object representing a Work Request, Design, Work Location, or Compatible Unit.</param>
        /// <returns>An XML element corresponding to the "EDM" structure.</returns>
        public virtual IXMLDOMNode GetEDMAsXML(IMMWMSNode wmsNode)
        {
            if (_EdmRepository == null)
            {
                return(null);
            }

            // If design not valid exit.
            if (!this.IsValid(wmsNode))
            {
                return(null);
            }

            // Only load the data from the Extended Data tables once.
            this.Load();

            // Call the OOTB EDM component to get any Site Condition data.
            IXMLDOMNode    node = _WmsExtendedData.GetEDMAsXML(wmsNode);
            IXMLDOMElement element;

            if (node == null)
            {
                // Create the base "EDM" element.
                IXMLDOMDocument dom = new DOMDocumentClass();
                element             = dom.createElement("EDM");
                dom.documentElement = element;
                node = element;
            }
            else
            {
                element = (IXMLDOMElement)node;
            }

            // Set the appropriate EDM Property data.
            this.UpdateEdm(element, wmsNode);

            // Return the updated node.
            return(node);
        }
コード例 #5
0
        /// <summary>
        ///     Imports the specified files into the workspace.
        /// </summary>
        /// <param name="workspace">The workspace.</param>
        /// <param name="fileNames">The file names.</param>
        private Dictionary <string, bool> Import(IWorkspace workspace, string[] fileNames)
        {
            Log.Info(this, "- Import File(s): \t{0}", fileNames.Length);

            var ies = new Dictionary <string, IMMXMLImportExport4>()
            {
                { "MMFieldInfoIE", new MMFieldInfoIEClass() },
                { "MMObjClassIE", new MMObjClassIEClass() },
                { "MMRelClassIE", new MMRelClassIEClass() }
            };

            var utils   = new mmFrameworkUtilitiesClass();
            var results = new Dictionary <string, bool>();

            foreach (var fileName in fileNames)
            {
                var fileName1 = fileName;

                workspace.PerformOperation(true, () =>
                {
                    IXMLDOMDocument doc = new DOMDocumentClass();
                    if (doc.load(fileName1))
                    {
                        var dtd = utils.AddDTD(mmTopLevelType.GXXMLTOPLEVEL, ref doc);
                        if (dtd != 0)
                        {
                            return(false);
                        }

                        var nodes = doc.getElementsByTagName("IEPROGID");
                        nodes.reset();

                        IXMLDOMElement element;
                        while ((element = nodes.nextNode() as IXMLDOMElement) != null)
                        {
                            var parentNode = (IXMLDOMElement)element.parentNode;
                            var node       = parentNode.selectSingleNode("FEATURENAME") ?? element.selectSingleNode("NAME");

                            Log.Info(this, "{0}:", node.text);

                            var ie = ies.Select(o => o.Value).FirstOrDefault(kvp => element.text.EndsWith(kvp.ProgID, StringComparison.InvariantCultureIgnoreCase));
                            if (ie != null)
                            {
                                bool success;

                                try
                                {
                                    success = ie.Import(workspace, element, mmGxXMLOptions.mmGXOOverwrite, mmGxXMLSubtypeOptions.mmGXOReplace);
                                    Log.Info(this, "\t{0} => {1}", ie.DisplayName, success ? "SUCCESS" : "FAILED");
                                }
                                catch (Exception e)
                                {
                                    success = false;
                                    Log.Error(this, string.Format("\t{0} => {1}", ie.DisplayName, e.Message));
                                }

                                results.Add(node.text, success);
                            }
                        }

                        return(results.Last().Value);
                    }

                    return(false);
                });
            }

            return(results);
        }
コード例 #6
0
        private void LoadMetadata() {
            try {
                string documentText = string.Empty;

                // Check if Stylesheet Exists
                //if (!File.Exists(this._stylesheet)) { return; }

                // Load XML
                DOMDocument source = new DOMDocumentClass();
                source.loadXML(this._dataset.Metadata);

                // Load XSL
                TextReader textReaderXsl = new StringReader(Resources.ISO);
                string xsl = textReaderXsl.ReadToEnd();
                textReaderXsl.Close();

                DOMDocumentClass style = new DOMDocumentClass();
                style.load(xsl);

                // Transform XML (to HTML)
                documentText = source.transformNode(style);

                //if (string.IsNullOrEmpty(this._stylesheet)) {
                //    // Load XML
                //    TextReader textReaderXml = new StringReader(this._dataset.Metadata);
                //    XPathDocument xml = new XPathDocument(textReaderXml);

                //    // Load XSL
                //    TextReader textReaderXsl = new StringReader(Resources.FILE_DEFAULT);
                //    XPathDocument xsl = new XPathDocument(textReaderXsl); ;

                //    // Compile Transformer
                //    XslCompiledTransform xslCompiledTransform = new XslCompiledTransform();
                //    xslCompiledTransform.Load(xsl);

                //    // Transform XML (to HTML)
                //    StringBuilder stringBuilder = new StringBuilder();
                //    XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, xslCompiledTransform.OutputSettings);
                //    xslCompiledTransform.Transform(xml, xmlWriter);
                //    documentText = stringBuilder.ToString();

                //    // Close Readers
                //    xmlWriter.Close();
                //    textReaderXsl.Close();
                //    textReaderXml.Close();
                //}
                //else {
                //    //// Check if Stylesheet Exists
                //    //if (!File.Exists(this._stylesheet)) { return; }

                //    //// Load XML
                //    //DOMDocument60Class source = new DOMDocument60Class();
                //    //source.loadXML(this._dataset.Metadata);

                //    //// Load XSL
                //    //DOMDocument60Class style = new DOMDocument60Class();
                //    //style.load(this._stylesheet);

                //    //// Transform XML (to HTML)
                //    //documentText = source.transformNode(style);

                //    // Load XML
                //    TextReader textReaderXml = new StringReader(this._dataset.Metadata);
                //    XPathDocument xml = new XPathDocument(textReaderXml);

                //    // Compile Transformer
                //    XslCompiledTransform xslCompiledTransform = new XslCompiledTransform();
                //    xslCompiledTransform.Load(this._stylesheet);

                //    // Transform XML (to HTML)
                //    StringBuilder stringBuilder = new StringBuilder();
                //    XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, xslCompiledTransform.OutputSettings);
                //    xslCompiledTransform.Transform(xml, xmlWriter);
                //    documentText = stringBuilder.ToString();

                //    // Close Readers
                //    xmlWriter.Close();
                //    textReaderXml.Close();
                //}

                // Assign Transfomed XML (HTML) to Web Browser
                this.webBrowser1.DocumentText = documentText;
            }
            catch (Exception ex) {
                ExceptionDialog.HandleException(ex);
            }
        }
コード例 #7
0
        private void LoadMetadata()
        {
            try {
                string documentText = string.Empty;

                // Check if Stylesheet Exists
                //if (!File.Exists(this._stylesheet)) { return; }

                // Load XML
                DOMDocument source = new DOMDocumentClass();
                source.loadXML(this._dataset.Metadata);

                // Load XSL
                TextReader textReaderXsl = new StringReader(Resources.ISO);
                string     xsl           = textReaderXsl.ReadToEnd();
                textReaderXsl.Close();

                DOMDocumentClass style = new DOMDocumentClass();
                style.load(xsl);

                // Transform XML (to HTML)
                documentText = source.transformNode(style);

                //if (string.IsNullOrEmpty(this._stylesheet)) {
                //    // Load XML
                //    TextReader textReaderXml = new StringReader(this._dataset.Metadata);
                //    XPathDocument xml = new XPathDocument(textReaderXml);

                //    // Load XSL
                //    TextReader textReaderXsl = new StringReader(Resources.FILE_DEFAULT);
                //    XPathDocument xsl = new XPathDocument(textReaderXsl); ;

                //    // Compile Transformer
                //    XslCompiledTransform xslCompiledTransform = new XslCompiledTransform();
                //    xslCompiledTransform.Load(xsl);

                //    // Transform XML (to HTML)
                //    StringBuilder stringBuilder = new StringBuilder();
                //    XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, xslCompiledTransform.OutputSettings);
                //    xslCompiledTransform.Transform(xml, xmlWriter);
                //    documentText = stringBuilder.ToString();

                //    // Close Readers
                //    xmlWriter.Close();
                //    textReaderXsl.Close();
                //    textReaderXml.Close();
                //}
                //else {
                //    //// Check if Stylesheet Exists
                //    //if (!File.Exists(this._stylesheet)) { return; }

                //    //// Load XML
                //    //DOMDocument60Class source = new DOMDocument60Class();
                //    //source.loadXML(this._dataset.Metadata);

                //    //// Load XSL
                //    //DOMDocument60Class style = new DOMDocument60Class();
                //    //style.load(this._stylesheet);

                //    //// Transform XML (to HTML)
                //    //documentText = source.transformNode(style);

                //    // Load XML
                //    TextReader textReaderXml = new StringReader(this._dataset.Metadata);
                //    XPathDocument xml = new XPathDocument(textReaderXml);

                //    // Compile Transformer
                //    XslCompiledTransform xslCompiledTransform = new XslCompiledTransform();
                //    xslCompiledTransform.Load(this._stylesheet);

                //    // Transform XML (to HTML)
                //    StringBuilder stringBuilder = new StringBuilder();
                //    XmlWriter xmlWriter = XmlWriter.Create(stringBuilder, xslCompiledTransform.OutputSettings);
                //    xslCompiledTransform.Transform(xml, xmlWriter);
                //    documentText = stringBuilder.ToString();

                //    // Close Readers
                //    xmlWriter.Close();
                //    textReaderXml.Close();
                //}

                // Assign Transfomed XML (HTML) to Web Browser
                this.webBrowser1.DocumentText = documentText;
            }
            catch (Exception ex) {
                ExceptionDialog.HandleException(ex);
            }
        }