コード例 #1
0
        /// <exclude />
        public static XslCompiledTransform GetCompiledXsltTransform(string stylesheetPath)
        {
            lock (_lock)
            {
                DateTime lastXsltFileWrite = C1File.GetLastWriteTime(stylesheetPath);

                bool compiledVersionExists = _xsltLookup.ContainsKey(stylesheetPath);
                bool reloadFresh           = (DateTime.Now - lastXsltFileWrite).Minutes < 30;

                if (compiledVersionExists == false || lastXsltFileWrite > _xsltFileTimestamps[stylesheetPath] || reloadFresh)
                {
                    XslCompiledTransform xslt = new XslCompiledTransform();
                    using (XmlReader reader = XmlReaderUtils.Create(stylesheetPath))
                    {
                        xslt.Load(reader);
                    }

                    if (compiledVersionExists)
                    {
                        _xsltLookup.Remove(stylesheetPath);
                        _xsltFileTimestamps.Remove(stylesheetPath);
                    }

                    _xsltLookup.Add(stylesheetPath, xslt);
                    _xsltFileTimestamps.Add(stylesheetPath, lastXsltFileWrite);
                }
            }

            return(_xsltLookup[stylesheetPath]);
        }
コード例 #2
0
 void LoadNodes(IFileLoader loader)
 {
     using (var reader = loader.GetReader())
     {
         var nodes = XmlReaderUtils.EnumerateAxis(reader, new[] { "Node", "ArticleGroup" });
     }
 }
コード例 #3
0
    protected override void Render(HtmlTextWriter writer)
    {
        string path = Server.MapPath("../../../templates/defaultstagedeck.xml");

        XmlDocument       doc      = new XmlDocument();
        XmlReaderSettings settings = new XmlReaderSettings();

        settings.IgnoreComments = true;

        using (XmlReader reader = XmlReaderUtils.Create(path, settings))
        {
            doc.Load(reader);
        }
        writer.Write(doc.DocumentElement.OuterXml);
    }
コード例 #4
0
        public ModelDescriptor LoadModel(IReadOnlyCollection <string> paths, string modelName)
        {
            _logger.LogInformation("Loading model [{paths}]", paths);

            var             firstPath = paths.First();
            ModelDescriptor model     = null;

            if (firstPath.ToLower().EndsWith(".xsd"))
            {//loader type selection
                var schemas = paths.Select(SchemaLoader.Load).ToList();
                model = Xsd.ModelLoader.Load(schemas, modelName);
            }
            else
            {
                XmlReaderUtils.UsingXmlReader(firstPath, reader => model = Xml.ModelLoader.Load(reader));
            }

            return(model);
        }
コード例 #5
0
        private static XDocument TryLoad(C1FileInfo candidateFile)
        {
            XDocument dataDocument = null;

            try
            {
                XmlReaderSettings xmlReaderSettings = new XmlReaderSettings();
                xmlReaderSettings.CheckCharacters = false;

                using (XmlReader xmlReader = XmlReaderUtils.Create(candidateFile.FullName, xmlReaderSettings))
                {
                    dataDocument = XDocument.Load(xmlReader);
                }
            }
            catch (Exception)
            {
                // broken file - should not stop us...
            }

            return(dataDocument);
        }
コード例 #6
0
        private static XDocument TryLoad(C1FileInfo candidateFile, ref string errorCause)
        {
            XDocument dataDocument = null;

            try
            {
                var xmlReaderSettings = new XmlReaderSettings {
                    CheckCharacters = false
                };

                using (XmlReader xmlReader = XmlReaderUtils.Create(candidateFile.FullName, xmlReaderSettings))
                {
                    dataDocument = XDocument.Load(xmlReader);
                }
            }
            catch (Exception ex)
            {
                errorCause = ex.Message;
                // broken file - should not stop us...
            }

            return(dataDocument);
        }